C语言怎么读取txt文件中一行的数据?

比如我定义了一个二维数组a[3][3]现在用文件中的数据给数组赋值date1.txt01123456date2.txt567125我的意思是每行数据个数都不一样,这时候如... 比如我定义了一个二维数组a[3][3] 现在用文件中的数据给数组赋值
date1.txt
0 1
1 2 3
4 5 6

date2.txt
5 6 7
1 2
5
我的意思是每行数据个数都不一样,这时候如何读入?
展开
 我来答
Du错错错

推荐于2017-09-25 · 知道行家,感谢您的关注。
Du错错错
采纳数:871 获赞数:7278

向TA提问 私信TA
展开全部
  1. 打开文件 fopen("需要打开的路径")

  2. 然后使用fgets函数读取行

  3. #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define MAX_LINE 1024
    int main()
    {
     char buf[MAX_LINE];  /*缓冲区*/
     FILE *fp;            /*文件指针*/
     int len;             /*行字符个数*/
     if((fp = fopen("test.txt","r")) == NULL)
     {
     perror("fail to read");
     exit (1) ;
     }
     while(fgets(buf,MAX_LINE,fp) != NULL)
     {
     len = strlen(buf);
     buf[len-1] = '\0';  /*去掉换行符*/
     printf("%s %d \n",buf,len - 1);
     }
      return 0;
    }

普洛智应
2013-05-25 · 知道合伙人互联网行家
普洛智应
知道合伙人互联网行家
采纳数:410 获赞数:1585
虚拟现实(VR/AR)以及游戏相关技术,物联网以及传感器技术

向TA提问 私信TA
展开全部
ifstream 的 getline 分隔符用行尾,要是有问题等我回到机器那再给你写几行。。。

对不起才看到不是c++
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吾好梦中殺猪
推荐于2017-09-02 · TA获得超过335个赞
知道小有建树答主
回答量:267
采纳率:0%
帮助的人:324万
展开全部
在文本文件模式下,每行的末尾是固定的字符 0D 0A , 这两个字符标志着有换行,
其中0D对应ASCII码里的 回车键'\r', 0A对应ASCII码里的 换行符'\n'

所以,你只要能判断连续的两个字符是0D 0A那么就意味着换行了。

你读的时候,一次读到一个大的buffer里,然后进行字符的比较判断,过滤出相应的数据。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
索贝尔上尉
2013-05-25 · TA获得超过3318个赞
知道大有可为答主
回答量:1837
采纳率:66%
帮助的人:1792万
展开全部
用fgets函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式