问个c语言整行读取文件的方法

一个文件中有十行数据,怎么可以分别读取到是个字符串中呢。。。。。我用fgets来读取,可是读完一行不知道怎么把文件的位置往后偏移?求给个例子看下... 一个文件中有十行数据,怎么可以分别读取到是个字符串中呢。。。。。我用fgets来读取,可是读完一行不知道怎么把文件的位置往后偏移?求给个例子看下 展开
 我来答
风若远去何人留
2015-10-21 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20403 获赞数:450164
专业C/C++软件开发

向TA提问 私信TA
展开全部

1 打开文件 fopen("需要打开的路径", "打开的模式");

2 使用fgets函数读取行;

3 读取完成后,fclose关闭文件。

参考代码如下:

#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)/*打开文件*/
 {
     printf("fail to read");/*打开失败的情况*/
     return (1) ;
 }
 while(fgets(buf,MAX_LINE,fp) != NULL)/*整行读文件直到文件结束*/
 {
 len = strlen(buf);
 printf("%s\n",buf);/*输出获取到的数据*/
 }
  return 0;
}
Sunlight07
2011-06-05 · 超过17用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:41.5万
展开全部
fgets有两种用法,第一种是读取指定个数的字符,另外一种
是读取到行尾,比如你知道每一行的长度肯定不少于n,那么
可以这样:
for (int i = 0; i < 10; i++)
{
fgets(result, 10, file);
fgets(useless, n, file);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式