如果我想将数据存储在不同的变量中,如何从txt文件中读取多行?每行包含相同的数据类型顺序:int string string char string,用制表符分隔。
例如 txt 文件中的一行如下所示:
11 \t I would like an apple \t What is your favourite car brand? \t b \t elephant
提前感谢您的帮助。
我尝试用 fscanf(“%d %s %s %c %s ”,..);但我无法读取字符串,因为 %s 在第一个空格处切断了我的句子,并且它只读取第一行,我无法移动到下一行。
嗨,亲爱的,试试这个:
#包括
int main() {
FILE *file = fopen("file.txt", "r");
if (file == NULL) {
printf("Error opening the file.\n");
return 1;
}
int intValue;
char string1[100]; // Assuming max length of string is 100
char string2[100]; // Assuming max length of string is 100
char charValue;
char string3[100]; // Assuming max length of string is 100
while (fscanf(file, "%d\t%99[^\t]\t%99[^\t]\t%c\t%99[^\t]\n", &intValue, string1, string2, &charValue, string3) == 5) {
// Process the variables here
printf("Int: %d\n", intValue);
printf("String 1: %s\n", string1);
printf("String 2: %s\n", string2);
printf("Char: %c\n", charValue);
printf("String 3: %s\n", string3);
}
fclose(file);
return 0;
}