📅  最后修改于: 2023-12-03 14:59:49.651000             🧑  作者: Mango
在 C++ 中,我们可以使用标准输入流 cin
读取字符串,并将其保存在字符数组或字符串对象中。以下是一些常见的方法:
#include <iostream>
using namespace std;
int main() {
char str[100];
cout << "请输入字符串:";
cin >> str;
cout << "你输入的字符串是:" << str << endl;
return 0;
}
执行结果:
请输入字符串:hello world
你输入的字符串是:hello
上述程序只读取了第一个单词,因为 cin
在遇到空格、制表符或换行符时会停止读取。如果需要读取整行,可以使用 cin.getline()
函数。
#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()
函数时,需要指定最大输入长度。另外,该函数默认会将换行符从流中读取并丢弃,所以最终字符串中不包含换行符。
除了使用字符数组,我们还可以使用 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
来实现。