当我输出我的数组时,我总是得到像这样的'Íýýýý«««««««««îþþþ'的垃圾值.我究竟做错了什么?
void func()
{
const int size = 100;
char * buffer = new char[size];
for(int i=0; i<size; i++)
buffer[i] = ' ';
cout<<buffer;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用for循环输出缓冲区,则没有垃圾值.
因为你没有null终止你的缓冲区,std::cout.operator<<(char*)将尝试查找\0作为其终止字符.
正如评论中指出的那样,随意将其附加\0到缓冲区的末尾:).
| 归档时间: |
|
| 查看次数: |
7009 次 |
| 最近记录: |