文字列の後に数字が続くテキストファイルを読み込んで、その内容を保存しようとしています。これまでのところ、適切にフォーマットされている場合は、文字列のみ (または 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