字符串打印不正确

时间:2011-03-04 13:02:19

标签: 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'时,它打印为'¶' - &gt; A'如果A是我的开始符号。如果我只打印aug [0],那么它正确打印A.但是当我打印整个字符串时,aug [0]值被打印为一些垃圾。请帮忙。

2 个答案:

答案 0 :(得分:4)

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

aug[6] = 0;

答案 1 :(得分:0)

你必须终止具有空值
的字符串 对于c ++,空值为\ 0
 用这个
aug[6] = '\0';
这应该有用;