【发布时间】:2021-05-16 16:33:24
【问题描述】:
当我执行“consoleinfo()”函数两次且第一个文本比第二个长时,数组中的值与第一个重叠
这是我的代码:
string last[20];
void consoleinfo(string log)
{
arrayshift();
last[18] = "[INFO] " + log;
consolerefresh();
}
移动所有值:
void arrayshift()
{
for (int i = 1; i < (sizeof(last) / sizeof(last[0])); i++)
{
last[i - 1] = last[i];
}
}
打印last的所有值:
void consolerefresh()
{
for (int i = 0; i < (sizeof(last) / sizeof(last[0])); i++)
{
std::cout << last[i] << std::endl;
}
}
我的意见:
consoleinfo("Hello World!");
consoleinfo("Apple");
输出:
[INFO] Hello World!
[INFO] Apple World!
【问题讨论】:
-
Edit 包含minimal reproducible example 的问题。您是否省略了在控制台窗口中移动输出位置的代码?
标签: c++ arrays console-application