小编Kit*_*tso的帖子

如何将非 ASCII 字符导入控制台?

我一直在挠头一段时间,我需要一些帮助。基本上我想要代码做的是将一系列非 ASCII 符号读入一个空的预设数组,我正在打印它们以查看它们是否确实被读取,而它们目前没有被读取。记事本可以很好地显示它们,但由于某种原因,C++ 无法将它们识别为有效字符,强烈建议任何仅与代码有关且不更改计算机内部设置的建议。

char displayCharacters[5] = {};

try {

    instream.open("characters.txt");
    instream >> displayCharacters;
    cout << "Here is the first symbol: " << displayCharacters[4];

} 

catch (exception) {

    cout << "Something went wrong with the file handling.";

}
Run Code Online (Sandbox Code Playgroud)

是的,我已经正确设置了输入流,从 iostream 的导入和使用命名空间 std 中使用了 cout。以下是该文件的内容:

?
 
?
?
?
Run Code Online (Sandbox Code Playgroud)

编辑:如果您需要知道,该文件是 UTF-8。

c++ c++17

4
推荐指数
1
解决办法
93
查看次数

如何限制字符长度

我知道人们会立即看到标题并说:“使用字符串”或“字符长度只能为 1”,但这些都有问题。

对于第一个,由于稍后在代码中使用 switch 语句,我的变量必须保留为字符,以便不会导致任何错误,对于第二个答案,我在测试期间发现即使我输入了多长度输入它只会将每个字符分别运行到 switch 语句中,这是我不想发生的。欢迎任何帮助,哦,这是代码:

char input;
do {
    cout << "Please enter a number from 1 to 4.";
    cin >> input;
    if (sizeof(input)!=1) {
        cout << "Please just enter a number";
    }
    else {

        switch (input) {

        case '1': {
            cout << "One";
            break;
        }

        case '2': {
            cout << "Two";
            break;
        }

        case '3': {
            cout << "Three";
            break;
        }

        case '4': {
            cout << "Four";
            break;
        }

        default:

            cout << "Enter only a number from …
Run Code Online (Sandbox Code Playgroud)

c++

-1
推荐指数
1
解决办法
47
查看次数

标签 统计

c++ ×2

c++17 ×1