不用打印,直接把读取的结果赋值给数组
时间: 2023-09-21 15:08:30 浏览: 29
可以在读取每个16进制数时,使用位运算和移位操作将其转换成 int 类型的数值,并将其赋值给 int 类型的数组元素。具体实现如下所示:
```c
#include <stdio.h>
int main() {
FILE *fp;
int arr[4][8]; // 存储int类型的数组
int i, j;
fp = fopen("data.txt", "r"); // 以文本方式打开文件
if (fp == NULL) {
printf("Failed to open file!\n");
return 1;
}
// 读取每行32个16进制数
for (i = 0; i < 4; i++) {
for (j = 0; j < 8; j++) {
int hex;
fscanf(fp, "%x", &hex); // 读取16进制数
arr[i][j] = (int)((unsigned int)hex); // 将16进制数转换为int类型
}
}
fclose(fp);
// 输出int类型的数组中的元素
for (i = 0; i < 4; i++) {
for (j = 0; j < 8; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
在循环中,每次读取一个16进制数,并将其转换成 int 类型的数值。由于 C 语言中,int 类型在不同平台上的长度可能不同,因此需要使用 `(unsigned int)` 对读取到的 16 进制数进行无符号整型的转换。然后将其强制转换为 int 类型,并将其赋值给 int 类型的数组元素。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)