代码未提供所需的输出 当我输入一个字符串示例" Ben Parker "时,输出为" Goodmorning,Ben "而不是整个名字(" Ben Parker")似乎是什么问题?
#include <iostream>
#include <stdlib.h>
#include <cstring>
int main() {
char your_name[20];
std::cout << "Enter your name: ";
std::cin >> your_name;
std::cout << "Goodmorning, ";
std::cout.write (your_name, strlen(your_name)) << std::endl;
return 0;
}
解
当我刚刚开始编程时,这是一个非常古老的问题。
可以使用for循环读取和打印整个字符数组,或者可以使用更好的string
类型变量,因为它是C ++。
使用string your_name;
似乎可以解决问题,然后可以使用简单的std::cout << your_name << endl;
打印
答案 0 :(得分:3)
你可能会在...之间放置一个空间&#34; Ben&#34;和&#34;帕克&#34;在输入中。这会导致cin
逻辑在看到&#34; Ben&#34;之后的空格时认为它有答案。您可能希望一次读取整行以解决该问题。有关示例,请参阅this页。