我试图打开一个文本文件,由字符阅读文件的字符,每个字符的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
您使用的范围-for循环,所以i
是从向量整数,它不是矢量的索引:
for(auto& i : ascii)
{
std::cout << ascii[i] << " ";
}
应该
for(auto& i : ascii)
{
std::cout << i << " ";
}