字符串输入

面向行的输入

cin的函数

getline()

getline()函数读取整行,以换行符(回车键)来确定输入结尾,但是不读取换行符。
可以使用 cin.getline() 来实现这个函数的使用,共有两个参数,第一个参数是 存储输入行的数组名称, 第二个参数是 要读取的字符数.

cin.getline(/*数组名称*/, /*要读取的字符数*/);

ps:实际读入的字符数会比我们所要求的读取字符数少,例如:我们第二个参数输入 20,那么我们实际上最多可以读取到的字符数为 19
为什么?因为字符串需要在末尾加上一个 '\0',表示结尾,会占据一个位置。

get()

get()函数读取整行,以换行符(回车键)来确定输入结尾,并且保留换行符。
cin.get()的参数实际上与cin.getline()的参数是一致的,它们只有是否保留换行符的区别,所以get()不做过多的介绍 (好像getline()也没怎么介绍的样子)

cin.get(/*数组名称*/, /*要读取的字符数*/);

这里要注意的是如果cin.get()不加参数或者没有长度参数的话只会读取一个字符,可见下文

gets()

这个与cin没有半毛钱关系了
这个函数会将一整行读入数组内,包含回车符。

gets(/*数组名*/);

面向区域的输入

cin

cin作为C++独有的输入对象,可以输入下一个空格或换行符前的所有字符。如:

Juro is so handsome.

如果我们用cin来输入字符的话,会依次截取“Juro”,“is”,“so”,“handsome”,来进行四次输入。

scanf

scanf是C++从C中继承下来的输入函数,我们可以用scanf进行和cin一样操作

char ch[20];
scanf("%s", ch);    // 注意这里用的是s,表示string(字符串)

面向单个字符的输入

scanf

如:

char ch;
scanf("%c", &ch);   // 注意这里用的是c,表示char(字符)

ps:注意如果用scanf读取单个字符的话需要加上取址符

getchar()

很简单粗暴的读取单个字符

char ch;
ch = getchar();

cin.get()

有两种使用方式

char ch;
// 方式一
ch = cin.get();
// 方式二
cin.get(ch);

如有遗漏,我会及时补充,大家也可在评论区分享

posted @   Juro  阅读(201)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示