我建立了一个基于对话框的工程,打算逐行读取文本文件里的数据。我先在对话框里加入了一个按钮,编辑按钮的代码如下:
{ CString filepath;
CFileDialog dlg(TRUE);
dlg.DoModal();
filepath=dlg.GetPathName( ); }
接下来我想在另一个成员函数中调用上面获得的文件路径也就是"filepath",但是响应按钮的函数不能设置返回值,请问我应该如何做才能在同一工程下的其它函数中得到该文件名,也就是传递它给别的函数使用?
第二个问题:我发现我获得的文件路径的格式为filepath="D:\xxx\xxx",而如果用ifstream file( )打开文本文件,括号里文件的路径格式应该是"D:\\xxx\\xxx",也就是说应该是双斜杠,请问这个问题怎样解决?
谢谢各位的帮助!
{ CString filepath;
CFileDialog dlg(TRUE);
dlg.DoModal();
filepath=dlg.GetPathName( ); }
接下来我想在另一个成员函数中调用上面获得的文件路径也就是"filepath",但是响应按钮的函数不能设置返回值,请问我应该如何做才能在同一工程下的其它函数中得到该文件名,也就是传递它给别的函数使用?
第二个问题:我发现我获得的文件路径的格式为filepath="D:\xxx\xxx",而如果用ifstream file( )打开文本文件,括号里文件的路径格式应该是"D:\\xxx\\xxx",也就是说应该是双斜杠,请问这个问题怎样解决?
谢谢各位的帮助!
2.第二个问题:我发现我获得的文件路径的格式为filepath="D:\xxx\xxx",而如果用ifstream file( )打开文本文件,括号里文件的路径格式应该是"D:\\xxx\\xxx",也就是说应该是双斜杠,
D:\\xxx\\xxx", 两个\是因为,\是转义字符,要在字符串中定义一个'\',必须在前面加一个'\',所以有两个。
----------------
成员变量,全局变量均可。
第二个问题:我发现我获得的文件路径的格式为filepath="D:\xxx\xxx",而如果用ifstream file( )打开文本文件,括号里文件的路径格式应该是"D:\\xxx\\xxx",也就是说应该是双斜杠,请问这个问题怎样解决?
----------------------
如果是GetPathName( ); 返回的,赋值给一个CString 变量,直接用就是。
如果是自己声明赋值的局部变量,如CString szFilePath="D:\\a.txt";这时就要双正斜杆.
原因楼上的兄弟已经解释了。
想再提一个问题,我在原来的基于对话框的工程中又插入了一个新对话框,并为这个对话框建立了一个新类,现在想把刚才读取的filepath也传递到这个类中,请问应该如何做?
然后主对话框调用新对话框的时候传进来:
CNewDlg pDlg;
pDlg.Create(新对话框ID,NULL);
pDlg.m_filepath = this->filepath;
pDlg.ShowWindow(SW_SHOW);