C++-cin.get(array,int)未读取第一个字符
C++ - cin.get(array,int) not reading first char
我刚接触C++,正在尝试一些练习。我想做的第一件事已经给我带来了麻烦。练习的目标是反转输入的字符串。这很容易。但是,当in试图用cin.get(array,int)
限制字符数量时,它会删除第一个字符。
代码:
char voornaam[7];
cin >> voornaam;
cin.get(voornaam,7);
cout << voornaam[6] << voornaam[5] << voornaam[4] << voornaam[3] << voornaam[2] << voornaam[1] << voornaam[0] << endl;
这就是代码。因此,这应该正常工作,但当我尝试使用Sander时,它会输出"redna",然后终止。
关于如何解决这个问题的任何想法。我想要一个有cin.get(array,int)
的解决方案,而不是有cin
的其他函数。
谢谢。
这很有趣。一开始一切都很好。但有一件小事。通知
cin >> voornaam
然后是
cin.get(voornaam,7)
这里发生的是,当第一个提示出现时,您输入Sander。因此,voornaam[0] = 'S'
、voornaam[1] = 'a'
等等。然后按enter键。cin.get(voornaam, 7)
将其作为\0。所以,你的voornaam看起来有点像
voornaam[0] = ' '
voornaam[1] = 'a'
voornaam[2] = 'n'
等等
当你把它反转时,你会得到"redna"。因此,不要使用、cin两次或输入完整字符串两次以获得正确的结果。
相关文章:
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 全局变量 多读取器 一个写入器多线程安全?
- 如何使用C++读取另一个程序中的源代码输出
- std::find,返回所有找到的值的替代方法,而不仅仅是存在重复的向量的第一个值
- 而(!inputfile.eof())只读取第一行?
- 如何仅读取文本文件中的第一个值
- 在C++中,如何在第一个"system()"结束后执行第二个"system()"?
- 查找不在标准中的第一个值::设置<int>最小-最大值
- C++:忽略第一个 cin.ignore 之后的输入
- 在C++中打印多个矢量的第一个值
- C++去除前x个元素的有效方法,在不改变向量大小的情况下将第x+1个元素推到第一个
- C++第一个cout将不会打印
- 我们可以在第一个else-if条件结束后使用另一个else-if条件吗
- OpenGL:第二个VBO破坏了第一个VBO
- ifstream 不读取第一行
- UDP 套接字读取最后一个传入字节
- 为什么第一个Dynamic_cast没有投射到基类?
- 解压缩串联的 zlib 流而不读取下一个字节
- OpenGL 2D游戏只绘制第二个精灵纹理而不是第一个
- C++ 为什么程序只读取第一个值