|
看书上教程,自己也模仿一个,碰到在while中第二遍 碰到cin会一直显示不会停下要求输入了
#include <iostream>
#include <fstream>
using namespace std;
class CNamedata{
private:
int m_num1;
char m_name1[10];
int m_sex;
size_t m_gua;
public:
void m_setdata(int ,char *,int ,size_t);
};
void CNamedata::m_setdata(int num1,char *p,int sex,size_t gua){
m_num1=num1;
strcpy(m_name1,p);
m_sex=sex;
m_gua=gua;
}
int main(){
fstream binwfile("g:\\users\\exe\\ccc.txt",ios::binary | ios::in |ios::out );
if(!binwfile){
cerr<<"无法打开文件"<<endl;
return 1;
}
CNamedata my;
int num1=1;
char name1[10];
int sex;
size_t gua;
cout<<"请输入序号(为-1结束):";
cin>>num1;
while(num1>=0){ //这个whlie里面的cin>>从第2遍开始不会停下来会一直执行
cout<<"姓名:";
cin>>setw(8)>>name1;
cout<<"姓别(0=女,1=男,2=其它):";
cin>>sex;
cout<<"身高:";
cin>>gua;
my.m_setdata(num1,name1,sex,gua);
binwfile.write(reinterpret_cast<const char*>(&my),sizeof(my));
binwfile.seekp(sizeof(my)+1);
cout<<"请输入序号(为0结束):";
cin>>num1;
}
return 0;
} |
上一篇: 进程通信剪切板,只能复制第一个字节,感谢各位大佬进来指正下一篇: 请问这个程序在vs上运行出来的结果为什么是乱码
|