更新时间2018-07-07 14:09:39
1.写了一个项目,里面关于字符的数据类型大多是string型,不知道是什么原因,在运行后的窗口上无法切出中文输入法了,只能打中文。代码太长,贴上来也不方便,说说一般的解决办法我回头试试看行不行。
2.设计对象容器,往容器里添加对象的时候总是少一个,就是容器对应一个文本的,从文本往容器里读数据的时候最后一个对象读不到容器里。我从中截了一段代码,网友们帮我分析分析~
ifstream inf2("技术员.txt");{
if(!inf2){
cout<<"Can not open the file"<<endl;
return;
}
list<technician>::iterator p2=te.begin();
inf2>>id>>na>>sex>>dep>>post>>y>>m>>d>>time;
while(!inf2.eof()){
technician TE(id,na,sex,dep,post,y,m,d,time);
te.push_back(TE);
inf2>>id>>na>>sex>>dep>>post>>y>>m>>d>>time;
}
inf2.close(); }
你只能输入英文,与你的程序没有关系
而与你的编译器及系统有关的
如在早期的win10+(自带的)linux+gcc下,就不能输入中文的
而从上面的程序看,你的读文件应该没有文件,看下处理及输出部分
有能力的话,单步调试下
若不能单步,可以程序中插入调试语句,如你的,可以在循环中加
cerr << id << endl; //看下是否读到每个id