在我们日常的工作中经常会遇到这样的场景,需要将一个文件以二进制的形式读出来,保存到一个字符串中,或者将一个二进制文件字符串保存成一个文件:将文件以二进制的形式读到一个字符串中,代码如下:bool File2String(string filePath, string& data){ ifstream fs(filePath.c_str(),ios::binary);
很多时候在C++里面,读取文件的方式很多,加上操作字符串是比较方便的一种形式,因为string类里面提供的方法还是比较充足的,下面记录一种将文件读取成字符串的方法:
需要的基础类型:
string:字符串类型
ifstream:输入流
读取的一个过程:
//首先定义一下我们需要用到的变量
std::string CodeFilestr; // 假设我们现在要读取的是一个.cpp的代码文...
int main() {
char arr[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '\0'};
string str(arr);
cout << str << endl;
return 0;
3. 字符串转字符指针
可以使用c_str()函数将字符串转化为字符指针,例如:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello World";
const char* ptr = str.c_str();
cout << ptr << endl;
return 0;
4. 字符指针转字符串
可以使用string类的构造函数将字符指针转化为字符串,例如:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
const char* ptr = "Hello World";
string str(ptr);
cout << str << endl;
return 0;
需要注意的是,字符数组转字符串时,字符数组必须以'\0'结尾。而且,字符串转字符指针时返回的是const char*类型的指针,因为字符串是不可修改的。