我想在运行中使用指针初始化一个字符数组。即用户输入不知道数组的大小。用户一直输入直到按下返回。这里的条件是:
- 使用指针初始化
- 不要提前传递数组的大小。
最佳答案
假设一道 C 题,怎么样(未测试):
char *arr = malloc(10);
size_t size = 10, index = 0;
int ch;
while ((ch = getc(stdin)) != EOF && ch != '\n' && ch != '\r') {
if (index >= size) {
size *= 2;
arr = realloc(arr, size); /* XXX check it first. */
}
arr[index++] = ch;
}
arr[index] = 0;
如果这真的是你想要的 C++ 问题 std::getline
用std::string
.
关于c++ - 动态初始化字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11966049/