请问一下 怎么用c语言实现读取一个txt文件里的数据 要按行读出来

请问一下怎么用c语言实现读取一个txt文件里的数据要按行读出来比如我的txt的文档里的数据是0.1600.1720.1600.2330.209。。。。我需要每次取出一个数... 请问一下 怎么用c语言实现读取一个txt文件里的数据 要按行读出来 比如我的txt的文档里的数据是
0.160
0.172
0.160
0.233
0.209
。。。。我需要每次取出一个数据来计算 这个怎么实现啊?
展开
 我来答
勇敢的心yc
2011-12-02
知道答主
回答量:22
采纳率:0%
帮助的人:16.1万
展开全部
可以用C++的流来做,包含fstream头文件,定义一个ifstream输入流,用getline函数读一行数据,当然读了之后可以把
#include<fstream>
#include<iostream>
using namespace std;

void main()
{
ifstream in("####");//传入文件名
string str;//用于放一行数据
getline(in,str);//重点,很简单吧
cout<<str<<endl;
in.close();
}
如果只是读数字的话,甚至可以这样来做
double value;
in>>value;//这样程序会忽略空白符读入一个double型的数据
其实C和C++本就是一脉相承,所以就用C++回答了
RunningOn
2011-12-02 · TA获得超过983个赞
知道小有建树答主
回答量:173
采纳率:100%
帮助的人:93.7万
展开全部
简单的办法:
#include <stdio.h>
...//这里的你自己的程序,省去
FILE *fp = fopen("你的文件的文件名", "r");
int n;
while (!feof(fp))
{
fscanf(fp, "%d", &n);
..//读出的数在n里,一次一个数
}
fclose(fp); //读完就退出循环
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AA5956
2015-07-31 · TA获得超过1869个赞
知道小有建树答主
回答量:705
采纳率:72%
帮助的人:471万
展开全部
  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;
    }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
adoqq_bd
2011-12-02 · TA获得超过7050个赞
知道大有可为答主
回答量:1818
采纳率:63%
帮助的人:1616万
展开全部
/*假设你的数据文件是d:\ttt.txt
用循环把数字读到数组a里面顺便显示出来 */
#include <stdio.h>
int main()
{
double a[100];
int i=0;
FILE* fp;
if((fp=fopen("d:\\ttt.txt","r"))==0)
{
printf("无文件!!\n");
return -1;
}
while(!feof(fp))
{
fscanf(fp,"%lf",&a[i]);
printf("%lf\n",a[i]);
i++;
}
fclose(fp);
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上善若水xiao
2011-12-02
知道答主
回答量:23
采纳率:0%
帮助的人:8.6万
展开全部
利用输入输出流打开文件,然后按行读取放到string类型,然后再重定向到 double类型中,程序如下已经过调试:
#include <iostream>
#include<fstream>
#include<string>
#include<sstream>
using namespace std;
void main(){

fstream in;
in.open("D:\\1.txt",ios::in);
string temp;double data;
while(getline(in,temp))
{
istringstream stream(temp);
stream>>data;
cout<<data<<endl;

}

}

还有更简单的方式,如果一行只有一个单词的话
while(in>>data) {
cout<<data<<endl;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式