字符串输入
面向行的输入
cin的函数
getline()
getline()函数读取整行,以换行符(回车键)来确定输入结尾,但是不读取换行符。
可以使用 cin.getline() 来实现这个函数的使用,共有两个参数,第一个参数是 存储输入行的数组名称, 第二个参数是 要读取的字符数.
cin.getline(/*数组名称*/, /*要读取的字符数*/);
ps:实际读入的字符数会比我们所要求的读取字符数少,例如:我们第二个参数输入 ,那么我们实际上最多可以读取到的字符数为 。
为什么?因为字符串需要在末尾加上一个 '\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);
如有遗漏,我会及时补充,大家也可在评论区分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App