c语言读取txt文件多行数据
发布网友
发布时间:2022-09-02 08:31
我来回答
共2个回答
热心网友
时间:2023-10-07 12:37
#include <stdio.h>
#define MAX_LINE 1024//每行最大字节数
int main()
{
int n=0;
FILE *fp;
char strLine[MAX_LINE];//读取缓冲区
if((fp = fopen("result.txt","r")) == NULL)//判断文件是否存在及可读
{
printf("Open Falied!");
return -1;
}
while (!feof(fp))//循环读取每一行,直到文件尾
{
fgets(strLine, MAX_LINE,fp); //将fp所指向的文件一行内容读到strLine缓冲区
printf("%s", strLine); //输出所读到的内容
//DO SOMETHING ELSE
}
fclose(fp);//关闭文件
printf("\n");
return 0;
}
用一维数组存的,如果需要用二维数组则用制表符‘\t’拆分就好了。
热心网友
时间:2023-10-07 12:37
二维数组只能存放相同数据类型.
你这个明显是两个域的, 所以 前面读到一个字符中, 后面读到一个二维数组中比较好.
比如 可以这样
char s1[100];
char s2[100][10];
int i=0;
while(!feof(fp))
{
s1[i] = fgetc(fp);
fscanf(fp,"%s",s2[i]);
fgetc(fp);
i++;
}
追问char s1[100];
char s2[100][10];
i=0;
while(!feof(fp))
{
s1[i] = fgetc(fp);
fscanf(fp,"%s",s2[i]);
fgetc(fp);
i++;
}
int num; //num为哈夫曼树文件的行数
for(i=0;i<num;i++){
printf("%c\n",s1[i]);
printf("%s\n",s2[i]);
}
fclose(ht);
0.0我这么写为什么printf打印不出来呢