0
ファイルを読み込んで出力するプログラムを作成しようとしています。最後の行から始まり、最後の行から最後の行、2番目から最後の行、3番目から最後の行までのように続きます。while((c = fgetc(myFile)))!= EOF)の周りには、ループの条件は、 ((c = fgetc(myFile)!= EOF))の間に変更されています。コード(c = fgetc ....)はオフです。
誰かがこれを解決する手助けをすることはできますか?
ありがとうございます。C言語のファイルで行を読み込んで出力する方法を学ぶ
void tail(FILE* myFile, int num) //Tail function that prints the lines
according to the user specified number of lines
{
int start, line = 0, counter = 0;
char c, array[100];
while((c = fgetc(myFile) != EOF))
{
if(c=='\n')
line++;
}
start = line - num; //Start location
fseek(myFile, 0, SEEK_SET); //Goes to the start of the file
while(fgets(array, 100, myFile) != NULL)
{
if(counter >start)
{
printf("%s",array); //Prints the string
}
counter++;
}
fclose(myFile); //Closes the file
}