如何一次打印整个wchar_t空格? (C ++)

时间:2017-10-30 22:49:00

标签: c++ console wchar-t

我正在尝试构建命令行应用程序,我在开始时,我正在尝试获取wchar_t输入并打印它,但是如果我输入“foo foof”,例如,它会打印{{1 }}。 这是我的代码:

foo>>> foof>>>

这就是控制台中发生的事情:

#include <iostream>
using namespace std;
int main()
{
    while (1 == 1)
    {
        wchar_t afterprint[100];
        wcout << "\n>>> ";
        wcin >> afterprint;
        wcout << afterprint;

    }
    return 0;
}

我期待发生的事情,就是在一个行上打印输入的内容。

非常感谢帮助,如果答案非常明显,我很抱歉,因为我是C ++的新手。

1 个答案:

答案 0 :(得分:1)

我看到问题是从一次收到1个问题到一次收到1个字的问题。您可以使用fgetws来捕获整个输入:

while (1)
{
    wchar_t afterprint[100];
    std::wcout << "\n>>> ";
    fgetws(afterprint, 100, stdin);
    std::wcout << afterprint;
}