c++ - 数组和十六进制值 C++?

标签 c++ arrays hex

我有一个包含一些十六进制数字的 .txt,我用 ifstream 将它们放入一个数组中。但是,它打印不正确,我的意思是,数字不符。这是我的代码:

void arrayNumbers(unsigned int longSize, unsigned int array[]) {
    file.open("hex.txt");
    int i;
    if(file){
        longSize=4; 
        array[longSize];
        for(int i=0;i<longSize;i++){ 
            file >> hex >> array[i];
            cout << array[i]<< endl; 
        }
        cout << "RIGHT" << endl;
    }
    else
        cout << "WRONG" << endl;

    file.close();
}

main() 中,我有:

void main() {
    unsigned int array[longSize];
    unsigned int longSize=4;
    arrayNumbers(longSize,array);
    cout << "OK" << endl;
}

这里发生了什么? T-T

最佳答案

longSize=4; 
array[longSize];

这一点是完全错误的。你想在这里做但你不能做的事情:

  • 在运行时增加数组的大小(大概是你用无意义的 array[longSize] 的意图)
  • 从运行时值 (longSize) 中选择数组的大小

考虑一个 std::vector相反。

此外,您的 main返回 void而不是 int (格式错误)和 main 中的数组具有另一个运行时变量的大小,该变量在数组之后声明!

最后,我强烈建议使用传统的缩进和大括号格式样式,因为您的样式很奇怪并且使代码难以阅读。

关于c++ - 数组和十六进制值 C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29172055/

相关文章:

java - 初始化二维对象数组

java - 字符串二进制到十六进制 Java

c++ - 如何将字符添加到二维数组?

c++ - 在 .cpp 文件中定义方法而不是在 C++ 的 .h 文件中定义方法时,代码的性能如何提高?

c - 如何指示文件的最后一行

数组属性的 JavaScript getter 方法

sql - 如何阻止grafana将十六进制字符串转换为整数?

java - 如何删除十六进制格式字符串的一些中间部分以获得新字符串?

c++ - 为什么在unordered_map中使用find()比直接读取要快很多?

c++ - 构造 boost::unordered_map 时指定最小桶数