用char数组储存一行文本
时间: 2024-10-19 12:10:00 浏览: 24
当你想要用`char`数组储存一行文本时,你可以使用`cin.getline()`函数。这个函数的基本形式如下[^1]:
```cpp
#include <iostream>
using namespace std;
// 假设有一个char数组
char lineBuffer[100]; // 最大长度假设为99 (因为最后一个位置用于存储空字符'\0')
// 读取一行文本
cin.getline(lineBuffer, sizeof(lineBuffer), '\n'); // '\n'作为行分隔符
// 现在lineBuffer数组包含了这一行文本,直到遇到'\n'
cout << "Read text: " << lineBuffer << endl;
```
这里要注意的是,`sizeof(lineBuffer)`通常不包括`\0`,所以如果你知道具体能容纳多少字符(除去`\0`),应该减去1。
而对于`getline(cin, stringArray[])`,它允许你直接将文本存储到`std::string`类型的数组中,这样可以避免手动处理字符数组和空字符,代码更简洁:
```cpp
#include <iostream>
#include <string>
using namespace std;
string stringArray[10]; // 假设数组有10个元素
// 读取多行文本并存储到string数组中
for(int i = 0; i < 10 && getline(cin, stringArray[i]); ++i) {
cout << "Line " << i+1 << ": " << stringArray[i] << endl;
}
// stringArray[i]现在包含了这一行文本,直到遇到'\n'为止
```
这种方法更适合处理字符串,因为它自动管理内存分配和终止字符串。
阅读全文
相关推荐


















