У меня есть файл, состоящий из 23 строк. В каждой строке есть шесть разных строк, и они отделяются друг от друга через \ t (символ табуляции). Другими словами, у меня есть файл с разделителями табуляции.
1) Можно ли прочитать этот файл, используя fread из fscanf?
2) Если это невозможно, как я могу прочитать файл?
Вы могли бы использовать 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++;
}
Других решений пока нет …