安卓C++向指定文件覆盖写值,如将0写为1,1写为0
时间: 2024-03-16 12:41:37 浏览: 65
使用C++实现文件的写操作
要实现在 Android 平台下向指定文件覆盖写值,你需要使用 C++ 的标准文件流库 `fstream`。以下是一个示例代码,可以将文件中的 0 写为 1,1 写为 0:
```c++
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
int main() {
// 打开文件
fstream file("/sdcard/test.txt", ios::in | ios::out);
// 检查文件是否打开成功
if (!file.is_open()) {
// 如果文件打开失败,输出错误信息
cout << "Failed to open file!" << endl;
return 0;
}
// 读取文件中的内容
string content;
getline(file, content);
// 将 0 写为 1,1 写为 0
for (int i = 0; i < content.length(); i++) {
if (content[i] == '0') {
content[i] = '1';
} else if (content[i] == '1') {
content[i] = '0';
}
}
// 将修改后的内容写回文件
file.seekp(0, ios::beg);
file.write(content.c_str(), content.length());
// 关闭文件
file.close();
return 0;
}
```
在上述示例代码中,`/sdcard/test.txt` 是你要写入的文件路径。如果你要写入其他位置的文件,你需要修改文件路径。另外,你需要在 AndroidManifest.xml 文件中添加写文件的权限,如下所示:
```xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
这样就可以实现在 Android 平台下向指定文件覆盖写值了。
阅读全文