本文主要是介绍C/C++ 文件读写-简版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
总结:
ofstream 一般用于输出操作, ifstream 一般用于读入操作, 修改文件的话, 原来一直这俩配合着用.
发现父类 fstream 可以直接使用. 挺简单的.
参考:
https://blog.csdn.net/weixin_42831199/article/details/82047874?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.not_use_machine_learn_pai
借图
:
上代码:
std::cout << "path : ";std::string path;std::cin >> path;//先读取8个字节修改uchar data[DZSIZE] = { 0 };std::ifstream fin(path, ios::binary | ios::in);fin.seekg(DZSIZE, ios::beg);fin.read((char*)data, DZSIZE);fin.close();//前8位取反for (int k = 0; k < DZSIZE; k++){data[k] = 255 - data[k];}//ios::in 保证打开文件的同时可以进行读写操作std::ofstream fout(path, ios::binary | ios::in);//末尾检查总的文件大小fout.seekp(0, ios::end);size_t totalsize = fout.tellp();//跳至开头fout.seekp(DZSIZE, ios::beg);fout.write((const char *)data, DZSIZE);fout.close();fstream dzfile(path, ios::binary | ios::in | ios::out);dzfile.seekg(0, ios::end);int size1 = dzfile.tellg();dzfile.seekp(0, ios::end);int size2 = dzfile.tellp();dzfile.seekg(DZSIZE, ios::beg);dzfile.read((char*)data, DZSIZE);dzfile.seekp(DZSIZE, ios::beg);dzfile.read((char*)data, DZSIZE);//前8位取反for (int k = 0; k < DZSIZE; k++){data[k] = 255 - data[k];}dzfile.seekg(DZSIZE, ios::beg);dzfile.write((const char *)data, DZSIZE);dzfile.seekp(DZSIZE, ios::beg);dzfile.write((const char *)data, DZSIZE);dzfile.close();
这篇关于C/C++ 文件读写-简版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!