【发布时间】:2021-03-11 12:35:49
【问题描述】:
char* str = NULL;
size_t capacity = 0;
getline(&str, &capacity, stdin);
上面的代码是一个在读取字符串输入时使用getline动态分配内存的例子。但是,如果我试图将输入读入二维数组呢?
例子:
Linenumberone (enter)
Linenumbertwo (enter)
(enter) <<< enter on an empty line - stop reading user input
我确实知道函数 strlen,所以我想我可以在技术上使用它来确定何时停止读取用户输入?但我有点困惑,是否可以使用 getline 将用户输入读取到 C 中的二维数组中,如所述?我只见过有人在 C++ 中使用它
【问题讨论】:
-
要么重用字符串(
getline将根据需要重新分配它)。或者使用一个指针数组(每个指针初始化为NULL),然后依次传递给getline。 -
@Someprogrammerdude 你应该把它作为答案发布