如何从文件中读取unspaced-intergers到C++中的数组?

问题描述:

我想读取一个1000位数字的数字到1000成员数组,并且无法找到如何。任何帮助赞赏。如何从文件中读取unspaced-intergers到C++中的数组?

+0

嗨,读一个数字作为一个字符从它减去'0'(0x30)并将其存储为一个整数。 –

+0

你有什么尝试?哎呀,为时已晚。看来你已经成功让别人编写你的代码。 –

+0

对不起。真的不想让别人为我写代码。只需要一个关于如何去做的想法。 – Master

您应该将个别数字读取为字符并将字符代码转换为数字。

#include <iostream> 

const int n = 1000; 

int main(void){ 
    char c; 
    int digits[n]; 
    for(int i=0;i<n;i++){ 
     std::cin >> c; 
     digits[i] = c-0x30; 
    } 
    return 0; 
} 
+0

该转换应该是'c''0'。正如所写,它是以ASCII为中心的;需要减去“0”才能用于所有字符编码。 –

+0

谢谢。真的很感谢帮助。 – Master

阅读字符文字使用basic_stream::get函数并将其转换成一个整数:检查省略

#include <iostream> 
#include <fstream> 

int main(){ 
    std::fstream fs("myfile.txt"); 
    char c; 
    int arr[1000]; 
    int counter = 0; 
    while (fs.get(c)){ 
     arr[counter] = static_cast<int>(c - '0'); 
     counter++; 
    } 
} 

错误。优先考虑向量数组。

+0

不知道如何使用矢量。不过,谢谢你的帮助。 – Master