我正在编写一个小程序,它以 16 个字节为一组从二进制文件中的文件中读取字节(请不要问为什么),修改它们,然后将它们写入另一个文件。
该fstream::read函数读入一个char *缓冲区,我最初将其传递给一个如下所示的函数:
char* modify (char block[16], std::string key)
修改完成block,然后返回。在漫游 SO 的帖子时,我意识到使用std::vector<char>. 我的下一个担心是如何将 a 转换char *为std::vector<char>. 再一次,SO给了我一个答案。
但现在我想知道的是:如果使用std::vector<char>而不是这样一个好主意char*,那么为什么要使用这些fstream函数char*呢?
char*另外,首先将fromfstream转换为好主意std::vector<char>吗?
编辑:我现在意识到,因为fstream::read用于直接将数据写入对象,char *是必要的。我现在必须修改我的问题。首先,为什么没有重载函数fstream::read?其次,在我写的程序中,哪个是更好的选择?