我正在尝试编写一个函数,该函数根据给定的数字从文本文件中打印特定行。例如,假设文件包含以下内容:
1 hello1 one
2 hello2 two
3 hello3 three
如果给定的数字是“3”,该函数将输出“hello3 3”。如果给定的数字是“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);
}
}
任何帮助都将不胜感激。