wczytywanie z pliku txt danych

wczytywanie z pliku txt danych

Wątek zablokowany 2022-07-18 14:40 przez kq.

Krwawy Ork
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 2 lata
  • Postów:105
0

witam!
mam plik, który zawiera infromację o współrzędnych, wygląda on tak:

4 5

ale chciałbym zrobić to inaczej, żeby stało się czytelniejsze. np:
jak zrobić, żeby najpierw program znalazl start_x: i przypisał jego wartość do programu?

start_x: 4
start_y: 5
exit_x: 10
exit_y: 7

Poniżej mój kod:

Kopiuj
void Map::LoadStartExitPositions( void )
{
	std::ifstream stream;
	stream.open( ( "pliki/mapy/" + m_mapName + "/startposition.txt" ).c_str() );

	if( stream )
	{
		while( !stream.eof() )
		{
			stream >> m_startPosition.x >> m_startPosition.y;
		}
	}

	stream.close();

	stream.open( ( "pliki/mapy/" + m_mapName + "/exitposition.txt" ).c_str() );

	if( stream )
	{
		while( !stream.eof() )
		{
			stream >> m_exitPosition.x >> m_exitPosition.y;
		}
	}

	stream.close();
}

DA
  • Rejestracja:prawie 3 lata
  • Ostatnio:około 19 godzin
  • Postów:84
0

W C mogło by to wyglądać mniej więcej tak. Przypisać całość pliku do buforu tektowego. Określić jego rozmiar i koniec ('\0').
Za pomocą zmiennej typu *char zastosować takie przypisanie:

Kopiuj
zmienna=strstr(bufor,"start_x");
sscanf(bufor,"start_x : %d",&wartosc_wspolrzednej);
return wartosc_wspolrzednej;

_13th_Dragon
  • Rejestracja:prawie 20 lat
  • Ostatnio:20 dni
0

Wg pokazanego kodu najpierw znajduje start_x i wpisuje do zmiennej.
Więc nie rozumiem co chcesz zrobić.

Może o to ci chodzi?

Kopiuj
void Map::LoadStartExitPositions(const string start,const string exit)
{
	ifstream starts(("pliki/mapy/"+m_mapName+"/"+start).c_str());
    ifstream exits(("pliki/mapy/"+m_mapName+"/"+exit).c_str());
    while((starts>>m_startPosition.x>>m_startPosition.y)&&(exits>>m_exitPosition.x>>m_exitPosition.y))
    {
        cout<<"start_x: "<<m_startPosition.x<<endl;
        cout<<"start_y: "<<m_startPosition.y<<endl;
        cout<<"exit_x: "<<m_exitPosition.x<<endl;
        cout<<"exit_y: "<<m_exitPosition.y<<endl;
        cout<<endl;
    }
}

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
edytowany 3x, ostatnio: _13th_Dragon
ZK
  • Rejestracja:około 19 lat
  • Ostatnio:4 miesiące
0

a może spróbuj wykorzystać plik JSON do takich rzeczy ?


bla
Zobacz pozostałe 78 komentarzy
enedil
Wierzę głęboko że zkubiński przynajmniej nie jest trollem
ZK
dobra drago czy jak ci tam, przydałoby się znać twoje imię, a nie głupią ksywę, kończę dyskusję, bo nie ma ona sensu, poproś @kq o zaoranie wątku, bo żal patrzeć jak robicie z siebie ... tu wpiszcie co chcecie, żeby nie było, że obrażam delikatne dziewczynki
enedil
Ale od bycia trollem chyba go dzieli tylko motywacja (co jest jednocześnie pocieszające i nie)
_13th_Dragon
On jest trollem, tylko nie rozumie tego.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.