读书人

c++builder如何将16进制的数据导出到

发布时间: 2012-08-13 13:21:53 作者: rapoo

c++builder怎么将16进制的数据,导出到HEX类型的文件
如题:
页面上就一个Memo,一个按钮,Memo里面是从下位机接收到的16进制数据,一个按钮是将这里面的数据导出为文件,文件类型是hex这种。
请人家帮忙看一下怎么弄
我在网上找的资料,运行不了
AnsiString path="c:\\111";
iFileHandle = FileCreate(path);
for (int i=0;i<Memo4->Lines->Count;i++)
{
iLength = Memo4->Lines->Strings.Length();
FileWrite(iFileHandle, Memo4->Lines->Strings.c_str(), iLength);
}
FileClose(iFileHandle);
提示:

[C++ Error] Unit1.cpp(1841): E2193 Too few parameters in call to '_fastcall TStrings::Get(int)'

[解决办法]
这是字符串转十六进制数据

首先取出每个字节的字符串,看你两个数据之间怎么间隔的或者固定是两个字符(前面补0).

然后把这个字符串转成十六进制数据

C/C++ code
String s = "AA" ;  wchar_t *EndPtr;  unsigned char hex ;  hex = wcstol(s.w_str(),&EndPtr, 16 ) ;  ShowMessage(hex);
[解决办法]
意思是Memo里存放的是ASCI字符?你写个简单的例子,要转换的源数据和想要转换的格式,写清楚了,压缩,发我信箱,晚一些我帮你搞定。cbfans#163.com

读书人网 >C++ Builder

热点推荐