这是我的霍夫曼大学项目的最后阶段。但是,我从未使用过阅读/写作技巧。 我想用密钥从外部文件中读取短二进制文件。
3 A 0100 3 E 0101 3 G 0110 3 M 0111 3 N 1010 3 H 1011 2 S 100 1 T 00 2 10 2 I 111
3在一个叫做pos
的int中A位于名为al
的字符中0100在一个名为bin等的数组中......
我提交了我的代码,但是我第一次上传堆栈溢出并花了很多时间而且我没有时间,谢谢你的预付款。
答案 0 :(得分:0)
打开文件,逐行读取文件数据,从行中提取所需内容。
std::string line;
ifstream read;
//open data files
read.open(file_name);
if(read.is_open())
cout << "File ./" << file_name << " is open.\n";
else {
cout << "Error opening " << file_name << ".\n";
exit(0);
}
while (std::getline(read, line))
{
// line =3 A 0100 3 E 0101 3 G 0110 3 ...
std::istringstream iss (std::move(line));
std::string val_str, al, bin;
while(! iss.str().empty())
{
try{
iss>>val_str;
int val= std::stoi(val_str); //val = 3 in the first run of the while loop
iss >> al; //al = A in the first run of the while loop
iss >> bin
// you can use val, al ,bin
}catch(..){
break;
}
}
}