c++从txt中读取字符串
时间: 2023-11-29 09:04:48 浏览: 34
可以使用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++从文件中读取字符串
读取文件中的字符串可以使用标准库函数fgets()。fgets()函数的原型如下:
```c
char *fgets(char *str, int n, FILE *stream);
```
其中,str是一个指向字符数组的指针,用于存储读取的字符串,n是读取的最大字符数,stream是指向FILE类型的指针,指向要读取的文件。
示例代码如下:
```c
#include <stdio.h>
int main()
{
FILE *fp;
char str[100];
fp = fopen("test.txt", "r");
if (fp == NULL)
{
printf("打开文件失败!\n");
return 1;
}
while (fgets(str, 100, fp) != NULL)
{
printf("%s", str);
}
fclose(fp);
return 0;
}
```
该程序从文件中读取每一行字符串并输出到屏幕上。注意,fgets()函数会把换行符也读取进来,因此输出的字符串会包含换行符。
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;
}
```