|
DWORD ReadUserInfo()
{
try
{
char cFilePath[MAX_PATH]={0};
wchar_t wFilePath[MAX_PATH]={0};
XEdit_GetText(hText1,wFilePath,MAX_PATH);
wcharTochar(wFilePath,cFilePath,MAX_PATH);
FILE *fp=fopen(cFilePath,"r");
if (fp==NULL)
{
MessageBoxA(NULL,"请选择导入文件","错误!",0);
return -1;
}
int Id=1;
while (!feof(fp))
{
char cAccount[20],cPassword[20],cMark[100];
fscanf(fp,"%[^,]%*c%[^,]%*c%s\n",cAccount,cPassword,cMark);
wchar_t wAccount[20],wPassword[20],wMark[100];
mbstowcs(wAccount,cAccount,20);
mbstowcs(wPassword,cPassword,20);
charTowchar(cMark,wMark,100);
wchar_t wId[20];
wsprintf(wId,L"%d",Id);
if(wcslen(wAccount)<1)
continue;
if(wcslen(wAccount)>20)
break;
//if (cAccount[0]==';')
//continue;
XList_AddItem(hList,wId);
XList_SetItemText(hList,Id-1,1,wAccount);
XList_SetItemText(hList,Id-1,2,wPassword);
XList_SetItemText(hList,Id-1,3,L"未激活");
XList_SetItemText(hList,Id-1,4,wMark);
Id++;
}
fclose(fp);
}
catch(...)
{
MessageBoxA(NULL,"读取数据异常,请检查格式是否正确!","错误信息",0);
}
return 0;
}
描述:文件格式为:855555,5555,张三 是正常的 如果不是 则发生异常 缓冲区溢出,内存访问冲突 基本上就这两个问题
那位大神帮忙看下 多谢。
|
|