指定された番号に基づいてテキスト ファイルから特定の行を出力する関数を作成しようとしています。たとえば、ファイルに次のものが含まれているとします。
1 hello1 one
2 hello2 two
3 hello3 three
指定された数が「3」の場合、関数は「hello3 three」を出力します。指定された番号が「1」の場合、関数の出力は「hello1 one」になります。
私はCに非常に慣れていませんが、これまでの私のロジックは次のとおりです。
ファイル内の文字「番号」を見つける必要があります。じゃあ何?番号を含めずに行を書き出すにはどうすればよいですか? どうすれば「番号」を見つけることができますか? とても簡単だと思いますが、これを行う方法がわかりません。これが私がこれまでに持っているものです:
void readNumberedLine(char *number)
{
int size = 1024;
char *buffer = malloc(size);
char *line;
FILE *fp;
fp = fopen("xxxxx.txt", "r");
while(fp != NULL && fgets(buffer, sizeof(buffer), fp) != NULL)
{
if(line = strstr(buffer, number))
//here is where I am confused as to what to do.
}
if (fp != NULL)
{
fclose(fp);
}
}
どんな助けでも大歓迎です。