C编程 – 从文本文件中读取特定行

这是代码 :

int main() { struct vinnaren { char vinnare[20]; int artal; }; struct vinnaren v[10]; int inputrader; int antalrader; //I want antalrader to be equal to the first //line in test.txt(the first line is "5") char file_name[256] = "test.txt"; char buf[512]; FILE *f = fopen(file_name, "r"); if (!f) { exit(0); } while (fgets(buf, sizeof buf, f)) { printf("%s", buf); } fclose(f); } 

这是我的代码。 我想这样做,以便文件test.txt中的antalrader = line1如何从文件中读取特定的行?

使用此代码,您可以逐行读取文件,从而从文本文件中读取特定行:

 lineNumber = x; static const char filename[] = "file.txt"; FILE *file = fopen(filename, "r"); int count = 0; if ( file != NULL ) { char line[256]; /* or other suitable maximum line size */ while (fgets(line, sizeof line, file) != NULL) /* read a line */ { if (count == lineNumber) { //use line or in a function return it //in case of a return first close the file with "fclose(file);" } else { count++; } } fclose(file); } else { //file doesn't exist }