我有一个函数print_string,它接受一个字符数组作为参数。
出于某种原因,如果我使用像
这样的while循环,我就无法打印出来int i = 0;
while(str[i]!= '\0'){
cout << str[i];
i++;
}
但如果我使用for循环并指定它可以的数组长度。
由于
答案 0 :(得分:0)
该代码适合我。我猜:你可能会遇到缓冲问题。 std::cout
被缓冲,因此字符首先进入缓冲区,然后,在某些点,缓冲区的内容被放在屏幕上。
强制执行此操作的最常见方法是:std::cout << std::endl;
另外,提示:std::cerr
是无缓冲的,因此您可以使用它来调试此问题。