我是C ++的新手,我正在尝试一些练习。我想做的第一个已经让我陷入困境。练习的目标是反转您输入的字符串。这很简单。但是当试图用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为例时,它会输出&#39; redna&#39;然后终止。
有关如何解决此问题的任何想法。我想要一个cin.get(array,int)
的解决方案,而不是cin
的其他功能。
感谢。
答案 0 :(得分:0)
cin >> voornaam
接着是
cin.get(voornaam,7)
这里发生的是,当第一个提示出现时,你进入Sander。
因此,voornaam[0] = 'S'
,voornaam[1] = 'a'
等等。然后按Enter键。 cin.get(voornaam, 7)
将其视为\ 0。所以,你的voornaam看起来像
voornaam[0] = '\0'
voornaam[1] = 'a'
voornaam[2] = 'n'
等等。
当你扭转它时,你会得到“redna”。所以,不要使用,cin两次,或输入两次完整的字符串以获得正确的结果。