我有一個成員函數,要求用戶輸入文件名,然後從文件輸入並在不同的函數上使用它。每個函數都帶有字符或字符。然而它並不完全執行這些功能。我認爲它與從文件中挑選數據然後使它們變成字符有關?是否有可能使用sstream從文件中分離元素,然後將這些元素用作字符?帶字符的流問題
void My_Function::file()
{
fstream data;//file input
char filename[80];
string line;
int first;
char sec, third, fourth;
cout<<"Enter file name: \n";
cin>>fileName;
data.open(fileName);
while(getline(data,line))
{
stringstream str(line);
istringstream ins;
ins.str(line);//get line
str >> first >> sec >> third >> fourth;
switch(first)
{
case 1:
add(sec);
break;
case 2:
delete_item(sec, third);
break;
case 3:
print_everything(sec, third);
break;
case 4:
makenew(sec, third);
break;
case 5:
find(sec, third, fourth);
break;
case 0:
break;
}
}
}
考慮制定'fileName'一個字符串,以防止緩衝區溢出。 – outis 2009-08-09 06:46:43