我正在尝试读取一个字符串的文本文件,后跟一个数字,然后存储它的内容。到目前为止,如果格式正确,我只能让它打印出字符串(或只是 int,或两者)。如何跳过空白行或格式错误的行(当前与前一行重复)并存储结果?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "list.h"
#define MAX_LINE_LENGTH 400
int main ()
{
char input[MAX_LINE_LENGTH];
char name[MAX_LINE_LENGTH];
int number;
FILE *fr;
fr = fopen ("updates.txt", "r");
if (!fr)
return 1;
while (fgets(input,MAX_LINE_LENGTH, fr)!=NULL)
{
/* get a line, up to 200 chars from fr. done if NULL */
sscanf (input, "%s", name);
/* convert the string to just a string */
printf ("%s\n", name);
}
fclose(fr);
return 0;
}
示例文本文件
冷 5 10 火焰 小狗 4 火焰 11 冷 6