好了,所以我想打开一个文件进行阅读,并且我只想读取第一个字符,然后根据我将它发送给给定函数的那个字符。例如,如果它是一个数字,我把它发送到一个函数,继续阅读,看看它只是一个int或一个浮点数。 我似乎无法弄清楚如何做到这一点逐字读取fstream并将fstream传递给函数以供进一步读取?
void dummy(char dum, std::ifstream& fin){
char test = dum;
fin>>test;
string simple = simple + test;
simple = simple + test;
ofstream outFile;
outFile.open("output.txt");
outFile<<simple<<"\n";
return;
}
int main(int argc, char *argv[]){
char c;
//ifstream readFile;
/*if(argc >= 1){
readFile.open(argv[1]);
}*/
ifstream readFile;
readFile.open("input.txt");
readFile.unsetf(ios_base::skipws);
readFile>>c;
while(!readFile.eof())
{
switch(c){
case 'a':
dummy(a,readFile);
}
}
}
它不断抛出这个错误:Microsoft C++异常:性病:: bad_alloc的内存位置(位置)。任何帮助是极大的赞赏。
'string simple = simple + test;'根本没有意义。 – us2012 2013-02-10 04:54:15
我想把'std :: ifstream :: eof()'放到一个寒冷而黑暗的山沟里,没有一个没有十几年行业经验的人可以找到它。 – WhozCraig 2013-02-10 05:41:51
'dummy(a,readFile);' - 你是否想要传递变量'c'? – 2013-02-10 06:28:02