C语言读取文件如何跳过第一行开始读取。用fscanf
读取txt文本
#include <stdio.h>
int main()
{
FILE *file = fopen("example.txt", "r");
char buf[100];
fgets(buf, sizeof(buf), file);
int value;
while (fscanf(file, "%d", &value) == 1) {
printf("%d\n", value);
}
fclose(file);
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:函数原型:
/** @func: fscanf
* @brief: 从文件中读取格式化的字符串
* @para: [fp]:文件指针
* [format]:格式化字符串,从fp中读出的内容
* @return:读取成功,返回读出的字符数
* 读取失败,返回负数
*/
int fscanf(FILE *fp, const char *format, ...)
使用方法:
FILE *fp = fopen ("test.txt", "r");
char str[64]
int num;
fscanf(fp, "%s %d", str, num);
fclose(fp);
根据问题的描述和参考资料,可以使用以下步骤来跳过文本的第一行,并从第二行开始读取数据:
fopen
函数打开包含要读取的文本数据的文件。例如,可以使用以下代码打开名为a.txt
的文件:FILE* file = fopen("a.txt", "r");
fgets
函数读取并忽略第一行数据。可以使用以下代码跳过第一行:char firstLine[100];
fgets(firstLine, sizeof(firstLine), file);
fscanf
函数在循环中读取文件剩余行的数据。可以使用类似于参考资料段落0所示的代码来实现。例如:char Name[20];
char Time[20];
char Action[20];
while (fscanf(file, "%19[^,],%19[^,],%s", Name, Time, Action) == 3)
{
printf("%s %s %s\n", Name, Time, Action);
}
fclose
函数关闭文件,释放资源。例如:fclose(file);
完整的解决方案代码如下:
#include <stdio.h>
int main()
{
FILE* file = fopen("a.txt", "r");
if (file == NULL) {
printf("文件打开失败\n");
return 1;
}
char firstLine[100];
fgets(firstLine, sizeof(firstLine), file);
char Name[20];
char Time[20];
char Action[20];
while (fscanf(file, "%19[^,],%19[^,],%s", Name, Time, Action) == 3)
{
printf("%s %s %s\n", Name, Time, Action);
}
fclose(file);
return 0;
}
以上代码将打开名为a.txt
的文件,跳过第一行并从第二行开始读取数据,并将每行数据按指定格式进行输出。如果文件不存在或打开失败,程序将打印错误信息并退出。