c++ - 字符串打印不正确

标签 c++ string

我使用以下代码获取字符串并使用其第一个字符生成另一个字符串:

char gramG[100],aug[100],start;
cout<<"\nEnter the grammar:\n";
cin.getline(gramG,100,'.');
start=gramG[0];
aug[0]=start;
aug[1]='\'';
aug[2]='-';
aug[3]='>';
aug[4]=start;
aug[5]=char(13);
cout<<aug;
cout<<aug[0];

在上面的代码中,当我打印 'aug' 时,如果 A 是我的起始符号,它会打印为 '¶'->A '。如果我只打印 aug[0] 那么它打印正确 A。但是当我打印整个字符串时,aug[0] 值被打印为一些垃圾。请帮忙。

最佳答案

aug 被视为一个以 0 结尾的字符数组。 0-终止它。

aug[6] = 0;

关于c++ - 字符串打印不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5194034/

相关文章:

c++ - 为什么编译时浮点计算的结果可能与运行时计算的结果不同?

c++ - while循环中的多个条件使用&&

c++ - 将 NS3 返回/退出代码(通过 waf)捕获为 Bash 脚本中的变量

C++:,当我使用字符串数组时,出现字符串下标超出范围

c++ - 当要访问的对象被多次封装时,如何正确使用setter?

C++ 代码与模板方法调用混淆

arrays - 在 Perl 中将字符串拆分为数组

c++ - C++中的字符串分配 : why does this work?

C - 带有可选 int 的 scanf 字符串

string - 我可以在Razor中使用@helper语法返回字符串吗?