#include <iostream>
using namespace std;
int main()
{
char user_name[50];
cout << "what is your name?" << endl;
cin.getline (user_name, 50, '\n');
cout << "hello, " << user_name << ", how are you today?" << endl;
}
我需要第二个cout全部在一行,但它读取回车键甚至我放一个delim。我该如何解决这个问题?
hello, johnny walker
, how are you today?
答案 0 :(得分:0)
如果这是您真正的代码,它应该按照您想要的方式执行。我只是在我的Fedora服务器上运行它并且工作得很好,所有都显示在你问的一行上。
为了省去一些痛苦,并为您提供一种方法来分别存储用户名的两个部分以便更好地处理,您可以试试这个:
#include <iostream>
using namespace std;
int main()
{
string first_name, last_name;
cin >> first_name >> last_name;
cout << "Hello " << first_name << " " << last_name << " how are you?" << endl;
}
但是我只是给你这样,所以让你远离getline,因为你感到困惑 - 实际上它应该(并且确实)也可以正常工作:p
答案 1 :(得分:0)
除了在第1行和第3行丢失分号外,您的代码没有任何问题。它总是在逗号之前打破吗?您可能希望查看以下链接并尝试其中的一些提示:http://www.cplusplus.com/forum/general/1477/
答案 2 :(得分:0)
它在我的Mac OS Lion上运行得很好。您能否提供有关您环境的更多信息?
hello, johnny walker, how are you today?