Jak wczytać jedną linijkę pliku do tablicy znakowej C++

0

Witam
Mam problem chce z pliku txt wczytać dokładnie jedną linijkę tekstu.Musi być to do tablicy char (nie wolno "stringów" używać. Nie wiemy ile linijka ma znaków, wiemy za to że jest bez spacji. Mój pomysł niestety nie działa
:(
klucz-tablica na 1000 komórek (tyle max ma linijka)
x-zmienna na podstawie której chciałem weryfikować czy to znak jeszcze tej samej linijki
@-na jej podstawie będę później w kodzie weryfikował koniec interesujących mnie znaków(choć pewnie i tak przepisze do później do tablicy dynamicznej)

plik.open(wej);
 while(x=='\n'){
 	plik>>x;
 	if(x!='\n')klucz[licznik]=x;
 	else klucz[licznik]='@';
 	licznik++;
 } 

Z góry dzięki ;)

2

Jak nie string to użyj vector<char> :)

vector<char> data;
// data.reserve(512);

for(istreambuf_iterator<char> e{}, curr(file); curr != e && *curr != '\n'; ++curr){
	data.push_back(*curr);
}
data.push_back('\0');

http://melpon.org/wandbox/permlink/6g3hXnelh2OEK91w

1

A to nie chodzi o cin.getline?

0
  1. Zapoznaj się z pojęciem formatowania kodu: http://4programmers.net/Forum/998482
  2. Zapoznaj się z inkrementacją, bo jej nie rozumiesz: http://4programmers.net/Forum/1101404
  3. Nie używaj innego niż angielskie nazewnictwa: http://4programmers.net/Forum/1208091
plik.open(wej);
size_t count=0;
while(plik.get(klucz[count])&&klucz[count]!='\n') ++count;
klucz[count]=0;

1 użytkowników online, w tym zalogowanych: 0, gości: 1