c语言读取txt文件多行数据

a0010b10c1101d1100e111f01g0011h000文本里这样的数据,怎么读出来存到二维数组里?... a 0010
b 10
c 1101
d 1100
e 111
f 01
g 0011
h 000
文本里这样的数据,怎么读出来存到二维数组里?
展开
 我来答
RU恶魔猎手SH
2017-12-25 · TA获得超过433个赞
知道小有建树答主
回答量:363
采纳率:85%
帮助的人:227万
展开全部
#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’拆分就好了。

风若远去何人留
2017-12-25 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部

二维数组只能存放相同数据类型

你这个明显是两个域的, 所以 前面读到一个字符中, 后面读到一个二维数组中比较好.

比如 可以这样

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打印不出来呢
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式