Я не могу получить часть строки, хранящуюся в форме массива char.char array to int in C++
char code1 [12]={0};
char c;
string compressed_file;
Я беру данные из текстового файла, пока в нем не появится символ «,».
cout<<"Input compressed_file name"<<endl;
cin>>compressed_file;
string extracted_file;
cout<<"Input extracted_file name"<<endl;
cin>>extracted_file;
ifstream input;
input.open(compressed_file.c_str());
ofstream decompresscode;
decompresscode.open(extracted_file.c_str());
input>>c;
while(c != ',')
{
int i=0;
code1[i]=c;
cout<<code1[i];
i++;
input>>c;
}
int old=atoi(code1);
cout<<old;
После печати значения кода1 здесь я получаю первую букву массива. Мой code1
: , только для печати .
Рассмотрите возможность использования 'std :: vector' вместо вашего массива. Это позволяет использовать более длинный вход, и вам не понадобится переменная 'i', вместо этого выберите элемент' back() '. –
tgmath