使用C语言编程从TXT中提取某些数据数据(为16进制),将所提取的转换为十进制。

使用C语言编程从TXT中提取某些数据数据(为16进制),将所提取的转换为十进制。,第1张

#include <stdioh>
#include <ctypeh>
#define N 100 // 数量大小你知道
unsigned convert(char s[]) {
unsigned i,num = 0;
for(i = 0;s[i];++i) {
s[i] = toupper(s[i]); / 小写字母转换成大写,其他字符不变 /
if(isalpha(s[i])) num += 16  num + s[i] - 'A';
else num += 16  num + s[i] - '0';
}
return num;
}
int main() {
int i = 0,data6[N],data7[N];
char data[16],filename = "datatxt";
char d6[5],d7[5];
FILE infp = fopen(filename,"rt");
if(infp == NULL) {
printf("打开文件%s失败。\n",filename);
return 1;
}
while(!feof(infp) && i < N) {
fgets(data,15,infp);
d6[0] = data[15];
d6[1] = data[16];
d6[2] = '\0';
data6[i] = convert(d6);
d7[0] = data[18];
d7[1] = data[19];
d7[2] = '\0';
data7[i] = convert(d7);
}
fclose(infp);
// 现在就可以直接处理这两个数据了
return 0;
}

打开TXT后点左上角的 文件 按键,然后再下拉框里找到 另存为 按键,点按键出项一个文件筐下边有编码,你可以更改下编码就可以了。
或者是系统缺少文字库。
如果你文档确实是TXT后辍的文档,不管是汉字(无论简体繁体)还是其它文字,打开后就乱码,则肯定是系统缺少文字库。但如果你的文档不是TXT文档,而是如EXE,或DLL类文件,则TXT不可能打开,打开就会乱码。因为此类文件是编码后的,如二进制,16进制等。
如果还是不行的话那就是你的文件坏了。
-----为最佳-----

原型:
int WINAPI icePub_binaryStringToHexString(char strBinary,char strHex)
输入:strBinary 2进制字符串
输出:strHex 16进制字符串结果
返回码:
VC sample代码:
extern "C"
{
__declspec(dllexport)
int WINAPI icePub_binaryStringToHexString(char strBinary,char strHex);
}
#pragma comment(lib,"icePubDlllib")
char strResult[1024];
icePub_binaryStringToHexString("1001110001101",strResult);
AfxMessageBox(strResult);
VB sample 代码:
Private Declare Function icePub_binaryStringToHexString Lib "icePubDlldll" (ByVal strBinary As String, ByVal strHex As String) As Integer
Dim strResult As String
Dim a2 As Integer
strResult = Space(1024)
a2=icePub_binaryStringToHexString("1001110001101",strResult)
MsgBox strResult

文件字符集Windows两种种ANSI种Unicode 于UnicodeWindows支持三种编码式种尾编码(Unicode)种尾编码(BigEndianUnicode)种UTF-8编码 我文件部区文件属于哪种编码


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/10408113.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-08
下一篇2023-05-08

发表评论

登录后才能评论

评论列表(0条)

    保存