我有一个由23行组成的文件。在每一行中,有六个不同的字符串,它们通过\ t(制表符)彼此分开。换句话说,我有一个制表符分隔文件。
1)是否可以使用fscanf的fread读取此文件?
2)如果不可能,我该如何阅读文件?
答案 0 :(得分:0)
您可以使用sscanf
功能:
char string1[SIZE];
char string2[SIZE];
char string3[SIZE];
char string4[SIZE];
char string5[SIZE];
char string6[SIZE];
char line[200];
FILE *inFile;
char *inName = "myFile.txt";
int i = 0;
inFile = fopen(inName, "r");
if (!inFile) {
printf("Couldn't open %s for reading\n");
return 0;
}
while(i < 23 && fgets(line, sizeof(line), inFile) != NULL){
sscanf( line, "%[^\t]\t%[^\t]\t%[^\t]\t%[^\t]\t%[^\t]\t%[^\n]\n", string1, string2, string3, string4, string5, string6 );
printf( "%s\t%s\t%s\t%s\t%s\t%s\n", string1, string2, string3, string4, string5, string6 );
i++;
}