【100分求救】VS2005 读取TXT内容并显示到comboBox中
效果图如下:
我的系统配置参数存在machType.sav文件中,能使用记事本编辑,内容如下:
Header 1
Header 2
MACH_6450=0
协议盒TYPE=0
蓝牙类型=2
分体机=0
ui_type=1
支持键扫=0
//保存按键点击事件
private: System::Void btnSave_Click(System::Object^ sender, System::EventArgs^ e) {
char* fileDir = "E:\\ModifyData\\ModifyData\\sd\\ndfh\\system_init\\matchType.sav";
char* readBuf;
char header[BUFSIZE];
FILE* fp;
readBuf = (char*)malloc(BUFSIZE);
if((fp = fopen(fileDir,"r"))==NULL){
printf("can not open the file: %s",fileDir);
exit(-1);
}
/*
if((fgets(readBuf,BUFSIZE,fp))!=NULL){
cmbMach_6450->Text = gcnew String(readBuf);
}
*/
char key[ARGS_NUM][BUFSIZE] = {"MACH_6450","协议盒TYPE","蓝牙类型","分体机","ui_type","支持键扫"};
char cmbName[ARGS_NUM][BUFSIZE] = {"cmbMach_6450","cmbProtocol","cmbBTtype","cmbSeparate","cmbUI_type","cmbKey"};
char value[ARGS_NUM][10]; //属性值
char keyBuf[BUFSIZE],valueBuf[10],cmbNameBuf[BUFSIZE];
fgets(header,sizeof(readBuf),fp);
fgets(header,sizeof(readBuf),fp);//先把前面两行读走
while((fgets(readBuf,sizeof(readBuf),fp))!=EOF){
sscanf(readBuf,"%s=%s",keyBuf,valueBuf);
for(int i=0;i<ARGS_NUM;i++){
if(keyBuf == key[i]){
cmbNameBuf = cmbName[i]; //根据keyBuf 找到对应的comboBox控件的名称
/* 该怎么添加代码,把对应的valueBuf值填到对应的name= cmbNameBuf的comboBox中去呢?*/
}
}
}
fclose(fp);
}
sscanf(readBuf,"%s=%s",keyBuf,valueBuf);
应改为
sscanf(readBuf,"%[^=]=%s",keyBuf,valueBuf);