如何从文件中读取unspaced-intergers到C++中的数组?
答
您应该将个别数字读取为字符并将字符代码转换为数字。
#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
嗨,读一个数字作为一个字符从它减去'0'(0x30)并将其存储为一个整数。 –
你有什么尝试?哎呀,为时已晚。看来你已经成功让别人编写你的代码。 –
对不起。真的不想让别人为我写代码。只需要一个关于如何去做的想法。 – Master