(C++)如何判断读入的是不是空格或换行?

(C++)如何判断读入文本里面的数据时哪个是不是空格或换行?我无数次实验都失败了,结果都是判断不出的,回ccchu0:这个早试过了,失败的确实是不行啊,例如读入Frien... (C++)如何判断读入文本里面的数据时哪个是不是空格或换行?

我无数次实验都失败了,结果都是判断不出的,
回 ccchu0: 这个早试过了,失败的

确实是不行啊,例如读入

Friendship is a quiet walk in the park with the one you trust love is when you feel like

you are the two around Friendship is when they gaze into you eyes and you know they care

love is when they gaze into your eyes and it warms your heart

Friendship is being close even when you are apart love is when you can still feel their

hand on your heart when they are not near Friendship is hoping that they experience the

very best love is when you bring them the very best Friendship occupies your mind love

occupies your soul Friendship is knowing that you will alwarys try to be there when in

need love is a warming touch that sends a pulse through your heart Friendship can

survive without love love cannot live without friendship

根本无法判断哪个是换行哪个是空格,注:希望的是在算法里入手,不用cin_get那些函数辅助,
回ccchu0 :那个函数不知道为什么用得很不爽,~~~~ 那~~只有那样一种办法?
展开
 我来答
百度网友9cde087
2009-03-13 · TA获得超过392个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:312万
展开全部
你是怎么读入数据的嘛,不知道这个行不行if(c==32){}

我发现上面的答案可行。你把你的代码贴出来看哈嘛,有可能是其他地方出了问题。比如文件读入的时候。
#include<iostream>
#include<fstream>
using namespace std;

void main()
{
char ch;
ifstream in("fname.txt",ios_base::in);
if(!in)exit(0);

int i=500;
while(i--){
ch=in.get();
if(ch==' ')
cout.put(' ');
else if(ch==EOF)
cout<<endl;
else cout.put(ch);
}

}
文本文件要和C++源文件在同一个文件夹中,且文件名必须是"fname.txt"。缺一不可。
ccchu0
2009-03-08 · TA获得超过800个赞
知道小有建树答主
回答量:635
采纳率:0%
帮助的人:484万
展开全部
不用函数辅助?那你用什么?
用>>?这个一样是函数好吧,重载的运算符一样是函数。

而且!!!
>>这个运算符是吃空格并且吃换行符的,有多说它吃多少。
你不会是用了>>导致没有空格以及换行吧?

//以下是随便写的一个函数,
//你在源文件同目录下建一个test.txt就可以读里面的东西。

#include <fstream>
#include <iostream>

using namespace std;

void main()
{
char c;
ifstream fin;
fin.open("test.txt");
while(!fin.eof())
{
c=fin.get();

if(c==' ')
{
cout<<"空格";
continue;
}
if(c=='\n')
{
cout<<"换行"<<endl;
continue;

}

cout<<c;
}
fin.close();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jaycnvip
2009-03-08 · TA获得超过767个赞
知道小有建树答主
回答量:998
采纳率:100%
帮助的人:644万
展开全部
以实参为char* p为例
int i=0;
while('\0\'!=p[i]){
if('\040'==p[i])//空格
...
if('\012'==p[i])//换行
...
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式