lchappy 发表于 2009-1-14 11:07:58

急~~QTP运行测试程序的“读写文件”操作时出错

测试程序是MFC的,程序单独运行的时候没有问题,但是用QTP录制就出现问题了。录制时程序运行到读和写操作fwrite,fread就会弹出错误报告。不知道是程序的问题,正巧被挖掘出来,还是QTP这边的问题?
就是读到这样的代码出错:
fwrite( pszFileData,1,strlen(pszFileData), file);
或者是
fread( pszFileData, 1, 64*1024 , file);
D:\Documents and Settings\liangc.HVTEAM\桌面\111.bmp

[ 本帖最后由 lchappy 于 2009-1-14 11:12 编辑 ]

lingxin5013 发表于 2009-1-14 11:11:10

先使用close在write

lchappy 发表于 2009-1-14 11:14:23

fwrite之前先打开的,close的话就写不进去了吧。。。。
FILE* file = fopen( ".\\参数\\INI.ini","wt");

lingxin5013 发表于 2009-1-14 11:15:40

把全部发上来看看

lchappy 发表于 2009-1-14 11:20:09

void SetUpDlg::OnBnClickedButton11()       //下载参数INI
{
        char *pszFileData = new char;
        EnterCriticalSection( &m_txt);
        if( HV_GetIniFile( m_HV, pszFileData, 1024*1024) == S_OK )
                AfxMessageBox("下载INI成功!");
        CString strTemp = pszFileData;
        strTemp.Replace( "\n" ,"\r\n");
        strcpy( pszFileData, (LPCSTR)(LPCTSTR)strTemp );
        FILE* efile = fopen( ".\\参数\\INI.ini","wt");
        fwrite( pszFileData,1,strlen(pszFileData), efile);
        LeaveCriticalSection(&m_txt);
        fclose(efile);
        delete[] pszFileData;
}

void SetUpDlg::OnBnClickedButton13()    //上传参数INI
{
        char *pszFileData = new char;
        FILE* file = fopen( ".\\参数\\上传INI.ini" ,"rb");
        DWORD32 dwFileSize = static_cast< DWORD32 >( fread( pszFileData, 1, 64*1024 , file) );
        pszFileData[ dwFileSize ] = '\0';
        if (HV_SetIniFile( m_HV, pszFileData ) == S_OK )
                AfxMessageBox("上传INI成功!");
        fclose( file );
        delete[] pszFileData;
}

bagwell333 发表于 2009-1-14 13:37:30

没明白。搂主的意思是qtp到这操作出错?
如果手动执行也出错,肯定是MFC代码的错误。当然这部分文件操作并未使用MFC的库函数。

lchappy 发表于 2009-1-14 13:49:03

程序单独运行未出错。。但是在QTP脚本中录制和运行就会出错。。经确认是在文件读写语句上过不去

lchappy 发表于 2009-1-23 12:07:36

知道了!问题出在文件路径上,把表示上层目录的“.”改成实际的“D:\\”就可以了,可是为什么呢!为什么程序中的“.”在QTP录制时会出错呢!???
页: [1]
查看完整版本: 急~~QTP运行测试程序的“读写文件”操作时出错