jjzjj

c++ - 使用 C++ 进行十六进制编辑

假设我想更改可执行文件的000F5344地址中的某些内容。我该怎么做? 最佳答案 @PabloSantaCruz提供了一个很好的方法,但是是在C中。如果你更喜欢纯C++,方法如下:打开文件:fstream::open(记得使用二进制标志)设置放置指针位置:fstream::seekp在put指针位置写入数据:fstream::put关闭文件:fstream::close虽然这并不比C版本好。 关于c++-使用C++进行十六进制编辑,我们在StackOverflow上找到一个类似的问题:

c++ - fstream 跳过字符而不读取位图

我正在尝试使用fstream读取bmp文件。但是它会跳过08和0E(十六进制)之间的值例如,对于值424d8a160b000000000036上面写着424d8a16000000000036跳过0b,就像它甚至不存在于文档中一样。怎么办?代码:ifstreamin;in.open("ben.bmp",ios::binary);unsignedchara='\0';ofstreamf("s.txt");while(!in.eof()){in>>a;f编辑:使用in.read(a,1);而不是in>>a;解决了读取问题,但我需要编写无符号字符和f.write(a,1);不接受无符号字符。有

c++ - eof问题c++

我在windowsxp上使用DevC++#include#include#includeusingnamespacestd;intmain(){stringSTRING;ifstreaminfile;infile.open("sample.txt");while(!infile.eof){getline(infile,STRING);cout这段代码给出了以下错误C:\C++\read.cpp:Infunction`intmain()':C:\C++\read.cpp:11:error:couldnotconvert`infile.std::basic_ios::eof[with_Ch

c++ - 指定绝对路径时无法打开 fstream

我知道这很可笑,但我似乎无法让简单的C++ofstream代码工作。你能告诉我以下代码可能有什么问题吗:#include...ofstreamFile("C:\temp.txt");if(File)File每当我指定绝对路径时,打开ofstream都会失败。相对路径似乎没有问题。我真的不确定这里的问题是什么。 最佳答案 您的路径无效:"C:\temp.txt"\将“t”转义为水平制表符,因此路径值最终为:"C:emp.txt"你想要的是:"C:\\temp.txt"或"C:/temp.txt"

C++ 数字金字塔

我需要编写一个程序,从文件中获取2个整数。然后它必须根据这2个数字制作一个金字塔。它必须看起来像这样:我已经编写了代码并且它可以按我想要的方式工作,打赌我想不出如何让它看起来像金字塔的方法。这是我做的时候的样子:这是我的代码:#includeusingnamespacestd;intmain(){ifstreaminFile("Duomenys.txt");ofstreamoutFile("Rezultatai.txt");intN,M,smth,suma=0;inFile>>N>>M;smth=N;while(N=smth;i--){outFile所以我的问题是,如何使我的答案像示例

c++ - 尝试从 istream 存储 token 时出现段错误

我的代码在读取文件时崩溃(见本文末尾)。我在main中声明一个ifstream对象,将其传递给buildGraph函数(将ifstream&作为参数),并尝试将第一个标记传递到字符串temp中。main的相关代码:#includeintmain(){ifstreaminfile1("data31.txt");if(!infile1){cout来自graphm.cpp的相关代码:#include#includevoidGraphM::buildGraph(ifstream&input){stringtemp;input>>temp;}还有一个头文件graphm.h也包含fstream。我

c++ - std::basic_fstream::put() 无效

我有以下代码:#include#includeintmain(intargc,char*argv[]){if(argc!=2){std::cout"stream;stream.open(argv[1],std::fstream::out);stream.put('T');stream.put('E');stream.put('S');stream.put('T');stream.flush();stream.close();return0;}正在创建文件,但当我在编辑器中打开它时,里面什么也没有。我的编译器是gccversion4.8.2(Ubuntu4.8.2-19ubuntu1)。

c++ - 卡在遗留 C++ IO 库和标准化 IO 库之间

我的问题是在挫折之后,其实我最近研究了标准的C++IO库。我在Linux机器上开发,所以一切都很好。由于我对文件io(file.exceptions(flags)))使用了异常处理,旧版本的GNUC++编译器不支持它。实际的部署机器有很旧的g++版本,可能是2.9x左右。我正在编写一个数据记录器应用程序,因为我写了很多依赖于try-catch对的代码。我现在应该怎么办。我尝试声明一个从std::exception继承的异常。有用。将fstream包装在头文件中是个好主意吗?如果是,我应该怎么做,比如继承,还是只是包装? 最佳答案 既

c++ - 如何将 STL 映射保存到文件 C++

我正在尝试使用map将数据安全地保存到文件中,但我不知道如何操作。我想将学生的姓名和年龄保存到文件中,然后当我查找学生的姓名时,它应该显示他们的年龄。#include#include#include#includeusingnamespacestd;classstudent{private:mapmap;public:voidstudents(stringname,intage);};voidstudents(stringname,intage){if(age>name;cout>age;//codetosavemaptofilefilemap.close();}

c++ - 是否可以同时在两个对象上使用插入运算符?

例如,如果我想在两个对象上使用提取运算符将相同的数据发送到两个对象以获得语法快捷方式(out_file,cout)那么数据同时应用到out_file和cout?out_file是fstream.. 最佳答案 您可以使用boost::iostreams::tee_device将数据发送到一对流.开球.cpp#include#include#include#includeintmain(){typedefboost::iostreams::tee_deviceTee;typedefboost::iostreams::streamTeeS