fgets

Awatar użytkownika
bisz
Użytkownik
Użytkownik
Posty: 572
Rejestracja: 13 paź 2004, o 18:29
Płeć: Mężczyzna
Lokalizacja: Szczecin
Podziękował: 4 razy
Pomógł: 27 razy

fgets

Post autor: bisz »

czolem! usiluje napiac program ktory pobierze caly plik do macierzy, w sensie caly a nie tylko pierwsza linie . kiedys mi sie cos takiego udalo ale juz nie pamietam jak to zrobilem


korzystam z czegos takiego :

Kod: Zaznacz cały

#include <stdio.h>

int main()
{
   FILE * pFile;
   char string [100];
 
   pFile = fopen ("myfile.txt" , "r");
   if (pFile == NULL) perror ("Error opening file");
   else {
     fgets (string , 100 , pFile);
     puts (string);
     fclose (pFile);
   }
   return 0;
}
i problem jest taki ze czyta tylko pierwszy wiersz, ktos wie jak to zrobic zeby zczytywal caly ?
Pluskwomiś
Użytkownik
Użytkownik
Posty: 11
Rejestracja: 27 mar 2007, o 13:05
Płeć: Mężczyzna
Lokalizacja: Zza rogu
Pomógł: 1 raz

fgets

Post autor: Pluskwomiś »

Tu trzeba skorzystać z czegoś takiego jak

Kod: Zaznacz cały

while (fgets(string , 100 , pFile) != EOF)
{
     fgets (string , 100 , pFile);
     puts (string);
}
fclose(pFile);
Wtedy funkcja będzie zczytywać wszystko dopóki nie natrafi na koniec pliku.
Być może trzeba będzie jeszcze uwzględnić obsługę końca linii, ale nie jestem pewien.
Awatar użytkownika
bisz
Użytkownik
Użytkownik
Posty: 572
Rejestracja: 13 paź 2004, o 18:29
Płeć: Mężczyzna
Lokalizacja: Szczecin
Podziękował: 4 razy
Pomógł: 27 razy

fgets

Post autor: bisz »

zrobilem to tak ;

Kod: Zaznacz cały

ifstream myfile ("/proc/net/dev");
if(myfile.is_open())
	{
	while (! myfile.eof() )
		{
		getline (myfile,line);
		line=line+"
";
		strcat(c,line.c_str());
		}
	myfile.close();
	}
else cout << "Nie da rady !";
i mam lancuch char w ktorym siedzi rzeczony plik
ODPOWIEDZ