当前位置: 首页 > 编程笔记 >

C++中带空格字符串的输入问题解决

房冥夜
2023-03-14
本文向大家介绍C++中带空格字符串的输入问题解决,包括了C++中带空格字符串的输入问题解决的使用技巧和注意事项,需要的朋友参考一下

前言

字符串一直是一个重点加难点,很多笔试面试都会涉及,带空格的字符串更是十分常见,现在对字符串的输入问题进行一下总结。

C++用cin输入的时候会忽略空格以后的字符,比如

char a[100];

cin>>a; 

C++用cin输入的时候会忽略空格以后的字符,输入"hello world"输出的是"hello";

如果用循环输入

for(int i=0;i<100;i++)

{

cin>>a[i];

} 

这样输入100个数吗?或者定义一个n,提前知道字符有多长,让i<n,都不是很好的方法。

这里可以用cin.getline(a,100);解决,这个函数是默认输入回车表示输入结束。

下面一道例题:输入hello world,输出dlrow olleh,参考答案

#include<iostream>

using namespace std;

int main()

{

 char a[20];

 for(int i=0;i<20;i++)

 { a[i]='\0';}

  cin.getline(a,20);

 // cin>>a;

 cout << a<<endl;

 for(i=sizeof(a)-1;i>=0;i--)

 {

  if(a[i]!='\0')

  cout<<a[i];

 }

 return 0;

} 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对小牛知识库的支持。

 类似资料:
  • 我试图写一个快速的程序,在输入的字符串中计数空格的数量。这是我到目前为止所拥有的: while循环首先使用s.indexOf(“”)查找字符串s中的第一个空格,将其替换为char Z,然后将值SpaceCount加1。此过程重复,直到s.indexOf没有找到空白,导致i为-1,从而停止循环。 换句话说,每次找到空白时,SpaceCount都会增加1,然后向用户显示空白的总数。或者应该是... 问

  • 我想在我的java程序中添加更多的命令,我正在用unix编写,但是在传递参数时遇到了问题。我只是在unix中输入命令之前,将文本文件作为程序参数,工作正常,但想要求输入。试着自己解决,但对java来说有点陌生 我有, 效果很好,然后试了这个,失败了 所以我犯了这些错误 CPU. java: 24:错误:不兼容的类型int计数=scanner.next线();^必需:int找到:字符串CPU. ja

  • 我正在尝试从Java文本文件中读取一行。我得到一个异常。 这是文本文件中的行: 我需要用“#”拆分,这部分起作用了。当我试图访问位置1处的元素时,Java抛出异常。我想这是因为名字和姓氏之间有空格,因为当我显示的是“Chiquita”,而不是“Chiquita Sanford”。 当第一个数组索引中有多个单词时,Java对拆分是否有一些限制。

  • 当req.query.filter是一个没有空格的字符串时,比如'education'······这管用。当我试图找到一个有空格的列名时,比如'this havs空格',这个查询不起作用。我怎么才能修好这个?

  • 我正在使用CSS网格(12列)与输入字段。由于我创建表单的方式(表单设计是在JSON中创建的,并且是动态创建的),输入字段不是网格的直接子字段,而是包装在DIV中。如果我对div执行一个grid-column:span,我还希望输入字段跨越列,但不是跨越网格间隙。我已经尝试了多种方法来做到这一点,最好的似乎是宽度:100%的输入,但这忽略了网格间隙。我想知道如何让输入字段与div的宽度相同吗? 抱

  • 使用我发现研究如何在字符串的字符之间插入空格的代码(这里),我修改了结果,但这并没有在“你好”和“世界”之间的空格周围插入额外的空格——你能让我知道我错过了什么吗?还有,L%2是做什么的?谢谢!将结果输出到浏览器是很重要的。