读取和记录字符的ASCII值矢量关闭]

问题描述 投票:-3回答:1

我试图打开一个文本文件,由字符阅读文件的字符,每个字符的ASCII值存储到一个载体。

我成功地打开和读取该文件,但我很困惑,为什么整数值不被保存在我的向量。所有值都被存储为0。

听起来很傻,但我不知道,如果铸造焦炭C至整数是问题,所以我输入入载体之前存储的(INT)C值的变量i。问题是,我知道我是存储ASCII值如预期,但我无法弄清楚,为什么这些价值观并没有被转移到载体。

    char c;
    std::vector<int> ascii;

    while( inFile.get(c) )
    {
        std::cout << c;
        ascii.push_back( (int) c );
    }

    inFile.close();
    std::cout << std::endl;

    for(auto& i : ascii)
    {
        std::cout << ascii[i] << " ";
    }

odoylerules

0 0 0 0 0 0 0 0 0 0 0

c++
1个回答
5
投票

您使用的范围-for循环,所以i是从向量整数,它不是矢量的索引:

for(auto& i : ascii)
    {
        std::cout << ascii[i] << " ";
    }

应该

for(auto& i : ascii)
    {
        std::cout << i << " ";
    }
© www.soinside.com 2019 - 2024. All rights reserved.