string数组怎么不用std::cin和std::string进行输入
时间: 2023-08-15 22:14:27 浏览: 191
可以使用C语言中的scanf函数或者C++中的std::getline函数来输入字符串数组。
使用scanf函数:
```c++
char str[100];
scanf("%s", str); // 输入字符串并存储到str数组中
```
使用std::getline函数:
```c++
#include <iostream>
int main() {
const int MAX_SIZE = 100;
char str[MAX_SIZE];
std::cin.getline(str, MAX_SIZE); // 输入字符串并存储到str数组中
return 0;
}
```
需要注意的是,使用scanf函数输入字符串时,输入的字符串中不能包含空格,否则只会读取空格前面的部分。而使用std::getline函数则可以读取包含空格的字符串。
相关问题
string类的数组不用std::getline()怎么输入
如果您不想使用 `std::getline()` 函数,您可以使用 `std::cin` 直接输入字符串。以下是一个示例代码,演示如何输入一个包含3个字符串的 `std::string` 数组。
```c++
#include <iostream>
#include <string>
int main() {
const int SIZE = 3;
std::string strArr[SIZE];
for(int i = 0; i < SIZE; i++) {
std::cout << "Enter a string: ";
std::cin >> strArr[i];
}
std::cout << "You entered the following strings:" << std::endl;
for(int i = 0; i < SIZE; i++) {
std::cout << strArr[i] << std::endl;
}
return 0;
}
```
在上面的代码中,我们首先定义了一个包含3个 `std::string` 类型元素的数组 `strArr`。然后使用 `std::cin` 直接输入字符串并将其存储到数组中。最后,我们遍历数组并将输入的字符串输出到屏幕上。需要注意的是,使用 `std::cin` 输入字符串时,输入的字符串不能包含空格和换行符,否则只会输入空格或者换行符之前的部分。
std::string input; std::getline(std::cin, input);
`std::getline` 是 C++ 标准库中的一个函数,用于从标准输入流(如 `std::cin`)读取一行文本,直到遇到换行符为止。这与 `std::cin >> input` 不同,后者会在遇到第一个空格时停止读取,假设 `input` 是一个预期接收完整单词的变量。
下面是一个使用 `std::getline` 的示例,展示如何将用户的多行输入读取到 `std::string` 中:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string longInput;
cout << "Enter multiple lines of text (hit Enter to stop):" << endl;
getline(cin, longInput);
cout << "You entered: " << longInput << endl;
return 0;
}
```
在这个例子中,用户可以连续输入多行文本,直到按下回车键结束输入。`getline` 会把输入的每一行保存到 `longInput` 变量中。
阅读全文