C++ 常用输入/输出函数&对于分隔符的处理(Tab/空格/回车)

输入函数

1.cin

1)cin >> a、cin.get、cin.getline均返回一个cin对象,故可以连写cin.get.getline...;

cin在适当的位置可以转换为bool类型,例如while(cin >> key)

2) cin遇分隔符结束,并且自动忽略分隔符(所有分隔符并不丢弃,cin.get可以接收分隔符)

即下面两段程序运行结果相同

char ch,a[10],b[10];
cin >> a >> b;
cout << a << b;
char ch,a[10],b[10];
cin >> a;
getchar();
cin >> b;
cout << a << b;

输入:hello 回车 world 回车

输出:helloworld 

2.getline

istream& getline(istream &is, string &str, char delim)

参数:

is:输入流,例如cin

str:从输入流读入的字符串存放的位置(string类型)

delim:结束符,默认为'\n',表示遇到这个字符停止读入

返回值:即输入的参数is(输入流),例如cin

1)getline(cin,str,delim)

getline自动丢弃了结束符

用例子说明:

默认结束符为'\n'的情况下,

string a, b;
getline(cin, a);
getline(cin, b);
cout << a << b;

输入:hello 回车 world 回车

输出:helloworld

string a, b;
getline(cin, a);
getchar();
getline(cin, b);
cout << a << b;

输入:hello 回车 world 回车

输出:helloorld

即第一个结束符'\n'由第一个getline丢弃

结束符为'#'的情况下

string a, b;
getline(cin, a, '#');
getline(cin, b, '#');
cout << a << b;

输入:hello# 回车 world# 回车

输出:hello

           world

即a == "hello",b == "\nworld",结束符'#'被丢弃,'\n'被保留在变量b中

string a, b;
getline(cin, a, '#');
getchar();
getline(cin, b, '#');
cout << a << b;

输入:hello# 回车 world# 回车

输出:helloworld

即a == "hello",b == "world",结束符'#'被丢弃

2)cin.getline(char* str, int num, char delim)

参数str为char类型指针,且不能为string类型由c_str()转换而成

num-1为最多读取的字符个数,最终读取的字符个数为 min(num-1, 上一个结束符 到 这一个结束符之间的所有字符个数 且不包括结束符本身),存储时在字符数组末尾自动加'\0'

用例子说明:

默认结束符为'\n'的情况下,

char a[10],b[10];
cin.getline(a, 10);
cin.getline(b, 10);
cout << a << b;

输入:hello 回车 world 回车

输出:helloworld

char a[10],b[10];
cin.getline(a, 10);
getchar();
cin.getline(b, 10);
cout << a << b;

输入:hello 回车 world 回车

输出:helloorld

即第一个结束符'\n'由第一个getline丢弃

结束符为'#'的情况下

char a[10],b[10];
cin.getline(a, 10, '#');
cin.getline(b, 10, '#');
cout << a << b;

输入:hello# 回车 world# 回车

输出:hello

           world

即a == "hello",b == "\nworld",结束符'#'被丢弃,'\n'被保留在变量b中

char a[10],b[10];
cin.getline(a, 10, '#');
getchar();
cin.getline(b, 10, '#');
cout << a << b;

输入:hello# 回车 world# 回车

输出:helloworld

即a == "hello",b == "world",结束符'#'被丢弃

3.get

1)不带参数的形式

int cin.get(void)

返回值:以无符号char强制转换为int的形式返回读取的字符,如果到达文件末尾或发生读错误,则返回EOF。

2)带一个参数的形式

istream& cin.get(char c)

返回值:输入流对象cin,在适当的时候转换为bool类型,例如while(cin >> c)

3)带2或3个参数的形式

istream& cin.get(char *str, int num)

istream& cin.get(char* str, int num, char delim)

用法同istream& cin.getline(char* str, int num, char delim)


输出函数

1.cout

推荐:C++中cout的使用_c++ cout用法-CSDN博客

3.put

osrteam& put (char ch)

返回值:输出流对象,例如cout

char ch = 'a';
cout.put(ch);

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 我可以为你提供一个示例:#include <stdio.h>int main() { int num; printf("请输入一个数字:"); scanf("%d", &num); printf("你输入的数字是:%d", num); return 0; } ### 回答2: 设计一个使用基本输入/输出运算符来输入输出一个数字的C程序。首先,在程序的开头引入stdio.h头文件,以便使用输入/输出函数。 ```c #include <stdio.h> int main() { int number; printf("请输入一个数字:"); // 提示用户输入一个数字 scanf("%d", &number); // 读取用户输入的数字并存储到number变量中 printf("您输入的数字是:%d", number); // 输出用户输入的数字 return 0; } ``` 在这个程序中,我们声明了一个名为number的整型变量,用于存储用户输入的数字。然后,使用printf函数输出提示信息,要求用户输入一个数字。接下来,使用scanf函数从用户输入中读取一个整数,并将其存储到number变量中。最后,使用printf函数输出用户输入的数字。 用户在运行程序时,将看到一个提示信息要求他们输入一个数字。用户输入后,程序将在下一行显示用户输入的数字。 这个程序演示了使用基本输入/输出运算符来实现简单的用户输入输出操作。 ### 回答3: 设计一个C程序,使用基本输入/输出运算符来输入输出一个数字。 ```c #include <stdio.h> int main() { int number; printf("请输入一个数字:"); scanf("%d", &number); printf("输入的数字为:%d\n", number); return 0; } ``` 以上代码是一个基本的C程序,它使用了输入/输出运算符来实现数字的输入输出。 程序开始时定义了一个整型变量`number`,用于存储输入的数字。 接下来通过`printf`函数打印提示信息,提示用户输入一个数字。 然后,使用`scanf`函数通过输入运算符`%d`将用户输入的数字存储到`number`变量中。 最后,通过`printf`函数将存储在`number`变量中的数字输出到屏幕上。 程序执行完毕后,将返回0,表示程序运行成功。 这个程序可以通过控制台和用户交互,让用户输入一个数字,并将输入的数字显示在屏幕上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MallocLu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值