【发布时间】:2014-11-30 22:35:43
【问题描述】:
我无法获取以 char 数组形式存储的字符串部分。
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;
在这里打印 code1 的值后,我只得到数组的第一个字母。我的code1 是 66,它只打印 6。
【问题讨论】:
-
考虑使用
std::vector<char>而不是您的数组。这可以实现更长的输入,并且您不需要变量i,而是选择back()元素。