📜  c++ 读取字符串 - C++ (1)

📅  最后修改于: 2023-12-03 14:59:49.651000             🧑  作者: Mango

C++ 读取字符串

在 C++ 中,我们可以使用标准输入流 cin 读取字符串,并将其保存在字符数组或字符串对象中。以下是一些常见的方法:

1. 读取到字符数组中
#include <iostream>
using namespace std;

int main() {
   char str[100];
   cout << "请输入字符串:";
   cin >> str;
   cout << "你输入的字符串是:" << str << endl;
   return 0;
}

执行结果:

请输入字符串:hello world
你输入的字符串是:hello

上述程序只读取了第一个单词,因为 cin 在遇到空格、制表符或换行符时会停止读取。如果需要读取整行,可以使用 cin.getline() 函数。

2. 读取整行到字符数组中
#include <iostream>
using namespace std;

int main() {
   char str[100];
   cout << "请输入字符串:";
   cin.getline(str, 100);
   cout << "你输入的字符串是:" << str << endl;
   return 0;
}

执行结果:

请输入字符串:hello world
你输入的字符串是:hello world

在使用 cin.getline() 函数时,需要指定最大输入长度。另外,该函数默认会将换行符从流中读取并丢弃,所以最终字符串中不包含换行符。

3. 读取到字符串对象中

除了使用字符数组,我们还可以使用 string 类型来保存读取到的字符串。

#include <iostream>
#include <string>
using namespace std;

int main() {
   string str;
   cout << "请输入字符串:";
   getline(cin, str);
   cout << "你输入的字符串是:" << str << endl;
   return 0;
}

执行结果:

请输入字符串:hello world
你输入的字符串是:hello world

使用 getline() 函数可以读取整行。此函数将一直读取输入流,直到遇到换行符为止。与 cin.getline() 不同的是,该函数会将换行符从流中读取并保存到字符串中。

小结

这些是 C++ 中读取字符串的常用方法。根据具体的需求选择不同的方法。如果需要读取整行,建议使用 getline() 函数,并使用 string 类型保存字符串;如果只需要读取单个单词或字符串,可以使用字符数组和 cin 来实现。