ReadFile读取ULONG型数据没有有关问题吧
ReadFile读取ULONG型数据没有问题吧?
我从硬件获取数据然后按照ULONG型存入一个txt文档,然后我想再从这个文档中以ULONG形式读出来。可是总有错。请知道的帮帮忙,纠结几天了。ReadFile用过,CFile的Read耶用过。都不行。不知道怎么做了。
------解决方案--------------------
你怎么保存的?
如果保存时用fwrite,读就要用fread;
如果保存时用fprintf,读就要fscanf
------解决方案--------------------
这不是和你先前的问题一样么?
给你的代码试试看看?
有问题了一起研究学习下子。
------解决方案--------------------
不晓得楼主能成功读取文件内容不?我还以为是单纯的字符类型转换问题呢!我先前提供的代码也得是你提取出每个字节信息并存入数组里头了才能用。这个应该不是很难吧。呵呵直接从我的代码里复制个看看:
我从硬件获取数据然后按照ULONG型存入一个txt文档,然后我想再从这个文档中以ULONG形式读出来。可是总有错。请知道的帮帮忙,纠结几天了。ReadFile用过,CFile的Read耶用过。都不行。不知道怎么做了。
------解决方案--------------------
你怎么保存的?
如果保存时用fwrite,读就要用fread;
如果保存时用fprintf,读就要fscanf
------解决方案--------------------
这不是和你先前的问题一样么?
给你的代码试试看看?
有问题了一起研究学习下子。
------解决方案--------------------
不晓得楼主能成功读取文件内容不?我还以为是单纯的字符类型转换问题呢!我先前提供的代码也得是你提取出每个字节信息并存入数组里头了才能用。这个应该不是很难吧。呵呵直接从我的代码里复制个看看:
- C/C++ code
void String2Hex(const std::string &str, unsigned char *buf, unsigned int &len) { unsigned char OneData = 0; len = 0; int ChL = 0; for (int i = 0; i < str.length(); i++) { char C = static_cast<char>(str.at(i)); if (C == ' ') { if (ChL != 0) { buf[len++] = OneData; ChL = 0; } continue; } OneData <<= 4; OneData += Char2Hex(C); ChL++; if (ChL == 2) { buf[len++] = OneData; ChL = 0; } } }
------解决方案--------------------
直接将文件里的二进制数据读入 ldata
- C/C++ code
ULONG ldata; file.Read(&ldata,sizeof(ULONG);
------解决方案--------------------
保存格式和读取格式一样就可以了。