C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 如何将字符串写入二进制文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
使用此代码,我尝试打印字符串“foo”10次
以二进制格式.但为什么这个功能没有起作用呢?

#include <iostream>
#include <fstream>
using namespace std;

template <typename T> void WriteStr2BinFh (String St,ostream &fn) {
     for (unsigned i = 0; i < St.size(); i++) {
         char CStr = St[i];
         fn.write(&CStr.front(),CStr.size());
     }
     return;
}

int main() {
   String MyStr = "Foo";
   ofstream myfile;
   myfile.open("OuputFile.txt",ios::binary|ios::out);

   // We want to print it 10 times horizontally
   // separated with tab

  for (int i = 0; i < 9; i++) {
      WriteStr2BinFh(Mystr+"\t",myfilE);
   }

   myfile.close();   
}

解决方法

这里有很多错误,我只想列出我看到的一切:

你的for循环条件应该是i< 10. 你为什么使用模板而不是模板化的参数T? 你在CStr上调用方法front(),但CStr是一个char,而不是一个字符串,所以我甚至不知道如何编译. 假设CStr是一个字符串,你不想使用&来获取front()迭代器的地址,而是想要说:

fn.write(St.c_str(),St.size());

并且您不希望为St.size()迭代循环.只要做上面的事情.

大佬总结

以上是大佬教程为你收集整理的c – 如何将字符串写入二进制文件全部内容,希望文章能够帮你解决c – 如何将字符串写入二进制文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。