gpt4 book ai didi

将 unsigned int 转换为 char 字母表

转载 作者:行者123 更新时间:2023-11-30 21:03:34 28 4
gpt4 key购买 nike

我有以下代码,可将16位整数的流数据转换为无符号8位整数
我希望将它们转换为按字母顺序排列的数据值并查看它们包含的内容。

#include<stdio.h>
int main() {
FILE *fp,*out;
char buffer[256];
size_t i = 0;
fp=fopen("c:/Gosam/input.txt", "rb");
if(fp != NULL) {
fread(buffer, sizeof buffer,1, fp);
}
out = fopen("c:/Gosam/res.txt", "w");
if(out != NULL) {
// buffer = (char*) malloc (sizeof(char)*Size);
for( i = 0; i < sizeof(buffer); i += 2)
{
const unsigned int var = buffer[i] + 256 * buffer[i + 1];
fprintf(out, "%u\n", var);
}
fclose(out);
}
fclose(fp);
}

以下是我的输出形式:

263  4294966987  4294967222  4294967032  64 4294967013  73  4294967004 90  
4294967028 83 4294966975 37 4294966961 5 4294966976 82 4294966942
4294967022 4294966994 11 4294967024 29 4294966985 4294966986 4294966954 50
4294966993 4294966974 4294967019 4294967007

这是我想要转换为字母字符并查看其内容的值。

最佳答案

我不知道您期望的答案是什么(您没有提出问题),但您的代码中似乎有一个可疑的地方:

char buffer[256];

这里char表示signed char。如果您的代码对它们进行操作(例如乘以 256),它可能不会执行您期望的操作(尽管我只能猜测您的期望 - 您的问题没有提及它)。

尝试以下操作:

unsigned char buffer[256];

还请提出一个问题(即带有问号的内容),并给出一些示例(输入、输出)。

关于将 unsigned int 转换为 char 字母表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24011461/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com