如何用C(整数)读取文本文件中的特定行



我的程序(程序的一部分)有问题。为了进一步进行,我需要以某种方式读取文件的一行,但那必须是特定的一行。我对C和文件真的很陌生。。。

我想做的是让用户输入他们想要读取的特定行,然后将其显示给他们。目前,当我尝试从第1行打印文本时,它只给我第1行的文本。请注意,我所说的文本是指整数,因为文件由一列中的55个整数组成。看起来是这样的:121854162164….

有什么办法可以达到我的需要吗?

#include <stdio.h>
FILE *file;
char name[15];
int line;
int text;
file = fopen("veryimportantfile.txt","r");
if(file==NULL)
{
    printf("Failed to open");
    exit(1);
}

printf("Your name: ");
scanf("%s",&name);
printf("Enter the line number you want to read: ");
scanf("%d",&line);

fscanf(pFile, "%d", &line);
printf("The text from your line is: %d",line);

怎么样:

  • 使用getc逐个读取文件中的字符,直到遇到所需的换行符数减1为止
  • 使用循环和fscanf("%d", ...)读取整数

类似于:

int ch, newlines = 0;
while ((ch = getc(fp)) != EOF) {
    if (ch == 'n') {
        newlines++;
        if (newlines == line - 1)
            break;
    }
}
if (newlines != line - 1)
    /* Error, not enough lines. */
/* fscanf loop */

相关内容

  • 没有找到相关文章

最新更新