c++如何读取文件中的换行符

我需要从一个txt文本里面读取数据,这个txt文本是一行只有一个float类型的指数,然后后面是换行符,我该用什么函数才能将这些float类型的数读取到一个数组里面... 我需要从一个txt文本里面读取数据,这个txt文本是一行只有一个float类型的指数,然后后面是换行符,我该用什么函数才能将这些float类型的数读取到一个数组里面 展开
 我来答
育知同创教育
2016-02-22 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部

c++读取文件中的换行符的方法:

  1. 回车的ASCII代码16进制是“0x0d” 10进制是“13” 在某些语言中可以用‘\r’表示。不同的操作系统对回车的处理是不同的:在Unix/Linux系统中,换行用'\n'一个字符表示,而在Windows系统中,则用"\r \n"两个字符表示。

  2. 读取字符判断是否等于'\n'或者'\r',如果等于就是回车。

例程: 

#include <iostream>
using namespace std;
void main()
{
 char i;
 i=cin.get();
 while(i!='q')
 {
  if(i=='\n'||i=='\r')     //判断是否等于'\n'或者'\r'
   cout<<"你输入了回车!";
  else
  {
   cout<<i;
  }  i=cin.get(); 
 }
}

来自月岩仪态万千的比目鱼
2014-04-03 · TA获得超过1571个赞
知道小有建树答主
回答量:1221
采纳率:50%
帮助的人:972万
展开全部
这个是我用到的函数,用来读取txt中的
0.60,1.60,2.60,3.60,4.60,
5.60,6.60,7.60,8.60,9.60,
10.60,11.60,12.60,13.60,14.60,
200.00,201.00,202.00,203.00,204.00,
205.00,206.00,207.00,208.00,209.00,
210.00,211.00,212.00,213.00,214.00,
215.00,216.00,217.00,218.00,219.00,
220.00,221.00,222.00,223.00,224.00,数据。
CFile file;
file.Open(strPath,CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite);
file.SeekToBegin();//移到文件头
int fileLength = (int)(file.SeekToEnd());///移到文件尾
file.SeekToBegin();//移到文件头
char *fp = new char[fileLength+1];
file.Read(fp,fileLength);
file.Close();
char tmp[15] = "\0";
int i=0; // 当前指针位置
int ndx = 0; // 记录前一个“,”位置
int nCount = 0; // 第nCount个数
while (fp[i])
{
if (fp[i] == ',')    // 你在这里调试,能看到当遇到换行符的时候 显示的是ASCII  ,因此你在这里可以用  if(fp[i] == 0x0A)
{
char ch[10] = "0";
CutX2XChar(fp,ch,ndx,i-1);
ndx = i+1;
strry[nCount/5][nCount%5] = ch;

nCount++;
}
i++;
}
//////////////////////////////////////////////////////////////////////////
//关闭文件
delete []fp;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
solotony
推荐于2017-10-13 · TA获得超过599个赞
知道小有建树答主
回答量:700
采纳率:0%
帮助的人:574万
展开全部
float a[N];
int i;
for (i = 0; scanf("%f", &a[i]) > 0; ++i);


scanf会跳过空白字符,比如换行。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Rankabc
2014-04-03 · TA获得超过3561个赞
知道大有可为答主
回答量:3705
采纳率:59%
帮助的人:1070万
展开全部
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream f("test.txt",ios::in);
double a[10]={0};
for(int i=0;i<10;i++)
{
f>>a[i];
cout<<a[i]<<endl;
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
巨润利020
2014-04-03 · TA获得超过171个赞
知道小有建树答主
回答量:307
采纳率:100%
帮助的人:264万
展开全部
getline函数一行一行读入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式