首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

初学C++,一个WIN32控制台程序访问数据文件时出错,求高人帮看一下.该如何解决

2012-05-29 
初学C++,一个WIN32控制台程序访问数据文件时出错,求高人帮看一下.bool MedicineDel(const char * DataFile

初学C++,一个WIN32控制台程序访问数据文件时出错,求高人帮看一下.
bool MedicineDel(const char * DataFile,CMedicine TargetMedicine){
fstream * streamFile=new fstream;
streamFile->open(DataFile);
if(!streamFile->is_open()){
cout<<"打开数据文件失败.";
system("pause");
return false;
}
vector<CMedicine> vList(0);
CMedicine Medicine;
while(!streamFile->eof()){
char * GetData="";
streamFile->getline(GetData,' ');
Medicine.m_strStyle=GetData;
streamFile->getline(GetData,' ');
Medicine.m_strNum=GetData;
streamFile->getline(GetData,'\n');
Medicine.m_strName=GetData;
streamFile->getline(GetData,' ');
Medicine.m_strSpec=GetData;
streamFile->getline(GetData,' ');
Medicine.m_fUnitPrice=GetData;
streamFile->getline(GetData,'\n');
Medicine.m_fPrice=GetData;
if(Medicine.m_strName==TargetMedicine.m_strName||Medicine.m_strNum==TargetMedicine.m_strNum)continue;
vList.push_back(Medicine);
}
for(int ii=0;ii<vList.size();ii++){
Medicine=* vList.end();
vList.pop_back();
}
streamFile->close();
return true;
}

在第一次调用getline时弹出内存错误.请问问题出在哪儿了?怎么怎么解决啊?

[解决办法]
string line;
getline(*fstream, line);
例子:

C/C++ code
// getline with strings#include <iostream>#include <string>using namespace std;int main () {  string str;  cout << "Please enter full name: ";  getline (cin,str);  cout << "Thank you, " << str << ".\n";} 

热点排行