gpt4 book ai didi

c++ - 将 unsigned int 类型转换为 unsigned long int C++

转载 作者:太空宇宙 更新时间:2023-11-04 00:50:34 24 4
gpt4 key购买 nike

我对编程有点陌生。我有这个问题。我有一个变量

unsigned long address;

我正在使用

fscanf(pFile, "%x\n", &address);

从文件中读取数据。该文件以十六进制(不带 0x)形式存在,并将其转换为十进制并存储。所以我有点不愿意改变这部分。当我使用 g++ 编译时,它要求我将地址更改为

unsigned int address;

现在,这个“地址”变量用在我将调用的函数中,该函数的参数为​​“unsigned long”。所以,如果我“寻址”到“unsigned int”,我该如何调用这个函数

function(address);

使得地址被类型转换为 unsigned long

最佳答案

将地址传递给 fscanf() 时,类型必须与格式说明符完全匹配。当您使用 %x 时,您声明您将传递一个指向 unsigned int 的指针。如果您觉得要传递一个指向 unsigned long 的指针,则需要使用格式说明符 %lx:

if (fscanf(pFile, "%lx", &address) == 1) {
// ...
}

(我不能在不检查输入是否成功的情况下使用输入功能...)。

关于c++ - 将 unsigned int 类型转换为 unsigned long int C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20058297/

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