【发布时间】:2016-02-06 16:49:16
【问题描述】:
我在 Ubuntu 终端中尝试 C++。我在字符串的末尾得到了奇怪的符号。(过去在 Ubuntu 的 Codeblocks 中也发生过这种情况,但在 Codeblocks Windows 中一切正常)。
代码如下:
#include <iostream>
using namespace std;
int main()
{
char name[20];
cout << "\nEnter name: ";
cin.getline(name, 20);
cout << "\nHello ";
cout.write(name, 20);
return 0;
}
输出:
Enter name: Yash
Hello Yash�@��Fy
我检查了其他有同样问题的线程。他们都有分配问题,用户没有在末尾添加'\0'。但在这里我没有做这样的事情。那为什么最后会得到这些字符呢?
【问题讨论】:
-
OT 备注:如果您的老师实际上仍在使用 Turbo C++ 并教您将
char[]用作字符串,那么如果您想在外面进行编程,您可能应该得到一本好的和最新的书学校。char[]的业务不是 C++ 好。 -
@BaummitAugen 我正在努力改进。我已经有了 C++ Primer。
标签: c++ string ubuntu terminal char