c++从txt中读取字符串
时间: 2023-11-29 16:04:48 浏览: 65
可以使用C++中的fstream库来读取txt文件中的字符串。以下是一个示例代码:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
string line;
ifstream myfile("example.txt"); // 打开文件
if (myfile.is_open()) { // 判断文件是否成功打开
while (getline(myfile, line)) { // 逐行读取文件内容
cout << line << endl; // 输出每一行内容
}
myfile.close(); // 关闭文件
} else {
cout << "Unable to open file" << endl; // 文件打开失败
}
return 0;
}
```
在上面的代码中,我们使用 `ifstream` 来打开文件,然后使用 `getline` 逐行读取文件内容,并使用 `string` 类型的变量 `line` 存储每一行的内容。最后,我们使用 `cout` 将每一行内容输出到屏幕上。
注意,在使用 `getline` 函数时,它会自动忽略每行末尾的换行符。如果需要保留换行符,可以使用 `ifstream` 的 `get` 函数来逐个字符读取文件内容。
相关问题
C++ 读取txt里的字符串和数字
要读取txt文件里的字符串和数字,可以使用C++的文件输入流对象 `ifstream` 和相关的读取操作符。以下是一个简单的示例代码,假设txt文件里的数据格式为每行一个字符串和一个数字,用空格隔开。
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
ifstream infile("data.txt"); // 打开文件
string str;
int num;
while (infile >> str >> num) { // 循环读取每一行的数据
cout << str << " " << num << endl; // 输出读取的数据
}
infile.close(); // 关闭文件
return 0;
}
```
在上面的示例代码中,我们首先打开文件,然后使用 `while` 循环读取每一行的数据,每次读取一个字符串和一个数字,最后输出读取的数据。需要注意的是,在使用 `ifstream` 读取文件时,文件必须已经存在且可读,否则会导致错误。同时,读取操作符会自动跳过空格和换行符等分隔符,因此可以方便地读取以空格分隔的字符串和数字。最后,记得关闭文件以释放资源。
C++如何从文件中读取字符串
可以使用C++的标准库中的`std::ifstream`类来从文件中读取字符串。具体步骤如下:
1. 包含头文件`<fstream>`。
2. 创建一个`std::ifstream`对象,并打开要读取的文件。
```c++
std::ifstream file("file.txt");
```
3. 使用`getline`函数从文件中读取一行字符串。
```c++
std::string line;
std::getline(file, line);
```
如果需要读取多行字符串,可以将上述步骤放在一个循环中,直到文件末尾。
4. 关闭文件。
```c++
file.close();
```
完整示例代码如下:
```c++
#include <fstream>
#include <string>
int main() {
std::ifstream file("file.txt");
if (!file.is_open()) {
// 打开文件失败
return -1;
}
std::string line;
while (std::getline(file, line)) {
// 处理每一行字符串
}
file.close();
return 0;
}
```
阅读全文