将用户输入中的空间存储在char数组中

马哈茂德·亚当

我正在尝试通过执行以下操作将' '作为识别字符的空间直接存储到字符数组中:

char ** board = new char *[row];
for (int r = 0; r < row; r++) {
    board[r] = new char[col];
}

for (int r = 0; r < row; r++) {
    cout << "Enter input: " << endl;
    cin >> board[r];

}

但是,如果我进入' '到控制台它执行Enter input两次(如果row33`),然后终止。我将如何直接将输入内容(包括空格字符)存储到板上?

雷米·勒博(Remy Lebeau)

尝试更多类似这样的方法:

#include <iostream>
#include <iomanip>
#include <limits>

char ** board = new char *[row];
for (int r = 0; r < row; r++) {
    board[r] = new char[col];
}

for (int r = 0; r < row; r++) {
    std::cout << "Enter input: " << std::endl;
    std::cin >> std::noskipws >> std::setw(col) >> board[r];
    std::cin.clear();
    std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}

但是,正如之前在注释中建议的那样,您确实应该使用std::stringstd::getline()代替。如果可以的话,将数组更改为std::vector<std::string>

#include <iostream>
#include <vector>
#include <string>

std::vector<std::string> board(row);

for (int r = 0; r < row; r++) {
    std::cout << "Enter input: " << std::endl;
    std:getline(std::cin, board[r]);
}

如果您不能使用std::vector,则至少可以使用std::string来读取用户的输入,然后将其数据复制到您的char[][]数组中:

#include <iostream>
#include <string>
#include <cstring>

char ** board = new char *[row];
for (int r = 0; r < row; r++) {
    board[r] = new char[col];
}

for (int r = 0; r < row; r++) {
    std::cout << "Enter input: " << std::endl;
    std::string input;
    std::getline(std::cin, input);
    std::strncpy(board[r], input.c_str(), col-1);
    board[r][col-1] = '\0';
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将用户输入存储在数组中

来自分类Dev

将用户输入存储在int数组中

来自分类Dev

将用户输入整数存储在数组中

来自分类Dev

Haskell将用户输入存储在数组中

来自分类Dev

将用户输入存储在数组中并显示在屏幕上

来自分类Dev

如何将用户输入存储在int数组中

来自分类Dev

将用户输入存储在本地存储中的特定阵列中

来自分类Dev

将用户输入中的大数存储到整数数组中

来自分类Dev

如何在没有for循环的c中将用户输入存储在数组中

来自分类Dev

将用户输入存储在PHP序列化数组中是否安全?

来自分类Dev

如何将用户字符串输入存储在数组中,C ++

来自分类Dev

将用户输入存储到2D数组中时,值将被覆盖

来自分类Dev

将用户输入的名称与存储在名称数组中的所有名称进行比较

来自分类Dev

如何将用户输入存储到现有数组中?

来自分类Dev

将用户输入存储到数组Java

来自分类Dev

将用户输入值存储在控制器中

来自分类Dev

将用户输入的值存储到C中的字符指针?

来自分类Dev

将用户输入值存储在控制器中

来自分类Dev

如何使用For循环将用户输入存储在变量中?

来自分类Dev

将用户输入与向量中存储的值进行比较

来自分类Dev

将用户输入读取到最大大小的数组中

来自分类Dev

将用户输入的数字列表放入数组中

来自分类Dev

将用户输入放入数组索引中的特定点

来自分类Dev

将用户字符串输入到循环数组中

来自分类Dev

将用户输入与数组 Java 中的值进行比较

来自分类Dev

有没有一种方法可以将用户输入存储在数组中并取回它?

来自分类Dev

如何将用户提示(输入)存储到数组中并检索其最大值和最小值?

来自分类Dev

将用户输入输入到一串数组中并递增字符串数组输入

来自分类Dev

如何将用户输入的char *附加到const char *的初始化中

Related 相关文章

  1. 1

    将用户输入存储在数组中

  2. 2

    将用户输入存储在int数组中

  3. 3

    将用户输入整数存储在数组中

  4. 4

    Haskell将用户输入存储在数组中

  5. 5

    将用户输入存储在数组中并显示在屏幕上

  6. 6

    如何将用户输入存储在int数组中

  7. 7

    将用户输入存储在本地存储中的特定阵列中

  8. 8

    将用户输入中的大数存储到整数数组中

  9. 9

    如何在没有for循环的c中将用户输入存储在数组中

  10. 10

    将用户输入存储在PHP序列化数组中是否安全?

  11. 11

    如何将用户字符串输入存储在数组中,C ++

  12. 12

    将用户输入存储到2D数组中时,值将被覆盖

  13. 13

    将用户输入的名称与存储在名称数组中的所有名称进行比较

  14. 14

    如何将用户输入存储到现有数组中?

  15. 15

    将用户输入存储到数组Java

  16. 16

    将用户输入值存储在控制器中

  17. 17

    将用户输入的值存储到C中的字符指针?

  18. 18

    将用户输入值存储在控制器中

  19. 19

    如何使用For循环将用户输入存储在变量中?

  20. 20

    将用户输入与向量中存储的值进行比较

  21. 21

    将用户输入读取到最大大小的数组中

  22. 22

    将用户输入的数字列表放入数组中

  23. 23

    将用户输入放入数组索引中的特定点

  24. 24

    将用户字符串输入到循环数组中

  25. 25

    将用户输入与数组 Java 中的值进行比较

  26. 26

    有没有一种方法可以将用户输入存储在数组中并取回它?

  27. 27

    如何将用户提示(输入)存储到数组中并检索其最大值和最小值?

  28. 28

    将用户输入输入到一串数组中并递增字符串数组输入

  29. 29

    如何将用户输入的char *附加到const char *的初始化中

热门标签

归档