VC 如何把文本文件中的内容读取出来并与对话框输入的ID比较?(还需要帮助~)
文本文件的格式如下:第一列为FixtureID,第二列为PCAREV,第三列为Pname.
FIXTUREID PCAREV PROGRAM NAME
G01308AB B P01308010C
G01309AC B P01308E044
G01376AE B P013084345
、、、、、、、、、、、 3列100行,每行中字符串以一个Tab间隔。程序的目的是从对话框中输入FixtureID和PCAREV,点击OK后读取文本文件中的内容与之比较,如果输入的FixtureID和PCAREV 与文本文件一行中的FixtureID,PCAREV一致,则读取第三列的Pname并将其插入c:\\USER\\OBJECT\\startup.bch文件中第1,7,15行中%s位置,其他内容不能改变。
1:!! copy M:\QLogic\%s \%s .* C:\User\OBJECT\%s.*
2:
3:!! del *.obc
4:
5:/* TRANSLATE AFTER FILE LOADING */
6:TRAN
7:NAME=%s
8:su=ica
9:RUN
10:
11:!! del *.tpg
12:
13:/* RUN TEST PROGRAM */
14:DIAGNOSE
15:NAME=%s
16:Mode=TEST
17:Messages=CRT
18:RUN
19:
20:/* DEL ALL FILE AFTER ABORT */
21:
22:!! rm *
23:
24:/* SHUT OUT MONITOR PAGER */
25:
26:SHUT
27:
现在有如下的程序,是gg606大哥帮修改过的,但还有点问题,请教一下该如何修改啊?
//========================
struct PROGRAM
{ char FixtureID[20];
char PCAREV[5];
char Pname[30];
}prog[100];
//========================
void CStartTestDlg::OnOKToStartTest()
{
UpdateData(TRUE); //更新m_FixtureID、m_PCAREV
//=============================================================================
FILE *fp;
int i;
i = 0;
fp = fopen("C:\\USER\\Program.txt","rt");//以读模式打开文本文件
if(NULL == fp)
{
//报告打开文件失败
return;
}
for(i=0;i<99;i++)
{
//program_type progType;
while ( !EOF( fscanf("%S%S%S", prog[i].FixtureID, prog[i].PCAREV, prog[i].Pname)) )
{
if(m_FixtureID == prog[i].FixtureID && m_PCAREV == prog[i].PCAREV)
{
//strText.Format(_T("!! copy M:\\QLogic\\%s\\%sC:\\User\\OBJECT\\%s.*"、、、、、、、、、、));
CString path("c:\\USER\\OBJECT\\startup.bch");
try
{
CStdioFile f(path, CFile::modeWrite|CFile::modeCreate|CFile::typeText );
f.WriteString(prog[i].Pname);
f.Close();
break;
}
catch(CFileException * e)
{
e->ReportError();
e->Delete();
f.Abort();
break;
}
}
}
fclose(fp);
ShellExecute(NULL,NULL,_T("DownLoad.cmd"),NULL,_T("c:\\USER\\Start\\"), SW_SHOW);
EndDialog(IDOK);
}
急用,在线等待、、、