acm java输入输出_ACM常用基础—输入输出

1.get读入一个字符

(1)cin.get()

(2)cin.get(ch)

(3)cin.get(ch,10,'/n')

cin.get(ch,10)

2.getline读入一行字符

(1)cin.getline(字符数组,字符个数,终止字符)

Char ch[20];

cin.getline(ch,20);//和get一样

getgetline区别

getline函数从输入流读字符时,遇到终止字符时结束,下一个getline将从该终止标志的下一个字符开始读入,get则仍从该标志字符开始。

cin.get()

#include

using namespace std;

int main()

{

char c;

while ((c=cin.get())!=EOF)//EOF文件结束标志 Ctrl+z;

{

cout.put(c);

}

return 0;

}

cin.get(ch)

#include

using namespace std;

int main()

{

char c;

while (cin.get(c))

{

cout.put(c);

}

return 0;

}

I like C++./I study C++./I am happy.

cin.get(ch,10,'/n')

cin.get(ch,10)

#include

using namespace std;

int main()

{

char ch[20];

cin.get(ch,10,'/n');//终止字符可自定义,默认为'/n'

cout<

return 0;

}

输入:I study C++ very hard.

输出:I study C

最后加了一个'/0',因此为9个

#include

using namespace std;

int main()

{

char ch[20];

cin.get(ch,20,'/');//终止字符可自定义,默认为'/n'

cout<

cin.getline(ch,20,'/');

cout<

return 0;

}

输入:

I like C++./I study C++./I am happy.

问题一:

void main(void)

{

string st ;

cout<

getline(cin,st);

cout<

}

上面这段代码,如果输入abc,那么需要按两次回车键才能显示abc(在VC6中),因为getline有三个参数,第三个参数是字符串的结束符,也就是当getline遇到这个结束符时,就不在接受输入了,比如写成getline(cin,st,'s');即使输入的是abcsabc那么也只会显示abc,因此对于上面出现的情况,有人说getline默认情况下以回车('/n')作为结束符,第一次按回车表示字符串结束,第二次按回车才开始输出。也有人说这是VC6的bug,我觉得前一种解释比较合理,因为:(2008)不会

如果你输入abc(回车)abc,那么程序会显示abc,可见回车的确是函数默认的结束符。

同理1getline(cin,candybar[i].pinpai);就是当输入一串字符串后赋值给candybar[i].pinpai,然后再按二次回车才显示在屏幕上!

问题二:

1.cin.getline是读入一行字符,比如:

#include

void main()

{

char str[20];

cout<

cin.getline(str,20);

cout<

}

当输入:abd cdrasdf g的时候就会输出:abd cdrasdf g。

2.cin.get()第一个用法,是读入一个字符。

#include

void main()

{

char str;

cout<

str=cin.get();

cout<

}

当你输入“ABAF”的时候,只会显示“A”,因为只读入了一个字符(空格也可以读入)。

3.cin.get()第二个用法,也是输入一行(同cin.getline()),但是区别就是,不输出分隔符~

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-03-22 19:28

浏览 460

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值