Я работаю над HEVC, то есть X265, и здесь я пытаюсь ввести массив QP со значениями, которые я читал из файла. Я знаю, что значения qp-массива будут равны 0 100.Чтение файла и ввод его как ввод его как целочисленного массива
Я создал файл тестирования и ввести комбинацию из 1 и 0 до 99. файлов выглядит следующим образом:
10101010110101010000000000000000000000000000000000000000000000000000000000000000000000000000000000
код я написал для этой цели следующим образом:
ifstream myfile;
myfile.open("/Users/Ahmedrik/Mine/Uni-Stuff/Test-FYP/roi.txt");
char input[100];
int qp_input[100];
while (!myfile.eof()) {
myfile >> input;
cout<< input<<endl;
}myfile.close();
for(int i=0;i<100;i++){
qp_input[i]=(int)input[i];
if(qp_input[i]==48){
qp_input[i]=1;
}
else
qp_input[i]=0;
cout<<i<<" : "<<qp_input[i]<<endl;
}
Но я не могу иметь правильные значения. Qp_input остается 0. Что я делаю неправильно?
[почему в то время как (! Myfile.eof)() неправильно] (http://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a- loop-condition-thought-wrong) – BeyelerStudios
Несмотря на ваш странный способ чтения из файла (релевантно: http://stackoverflow.com/questions/18398167/how-to-copy-a-txt-file-to-a-char -array-in-c), ваш код отлично работает для меня. – SingerOfTheFall
У вас неправильные значения, потому что значение ASCII '1' равно 49, а не 48. Не используйте магические числа, пожалуйста. –