在我们日常的工作中经常会遇到这样的场景,需要将一个文件以二进制的形式读出来,保存到一个字符串中,或者将一个二进制文件字符串保存成一个文件:

将文件以二进制的形式读到一个字符串中,代码如下:

bool File2String(string filePath, string& data)
	ifstream fs(filePath.c_str(),ios::binary);
	if(!fs.is_open())
		return false;
	ostringstream ss ;     
	ss << fs.rdbuf();
	fs.close();
	data = ss.str();
	return true;

将一个二进制文件字符串写成一个文件,代码如下:

bool String2File(string filePath, string& data)
	ofstream fs(filePath.c_str(),ios::binary);
	if(!fs.is_open())
		return false;
	fs<<data;
	if(fs.bad())
		return false;
	fs.close();
	return true;
欢迎关注问我团队公众号:
在我们日常的工作中经常会遇到这样的场景,需要将一个文件以二进制的形式读出来,保存到一个字符串中,或者将一个二进制文件字符串保存成一个文件:将文件以二进制的形式读到一个字符串中,代码如下:bool File2String(string filePath, string&amp; 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*类型的指针,因为字符串是不可修改的。