
int main()
{
string s = "c:\\abc\\def\\texttxt";
int xie_index = sfind_last_of('\\'); // 路径中最后一个\的位置
string file_dirname = ssubstr(0, xie_index + 1);
string file_basename = ssubstr(xie_index + 1, ssize());
cout << file_dirname << endl << file_basename << endl;
}
可以运行后指定要打开的文件,成功运行
如我D盘下有f1txt,没有f3txt
两次运行结果分别是
一:
请输入要打开的文件名(含路径):
d:\f1txt
成功打开文件d:\f1txt!
Press any key to continue
二:
请输入要打开的文件名(含路径):
d:\f3txt
打开文件失败!
Press any key to continue
程序如下:
#include <stdioh>
#include <malloch>
#define MAXSIZE 50
void main()
{
char file=(char)malloc(sizeof(char)MAXSIZE);
printf("请输入要打开的文件名(含路径):\n");
gets(file);
FILE fp;
if(!(fp=fopen(file,"r")))
{
puts("打开文件失败!\n");
}
else
{
printf("成功打开文件%s!\n",file);
fclose(fp);
}
free(file);
}
1:打开wps文件,你首先要了解wps文件头的定义格式,一般vb不是特别的好
实现,因为牵扯到位 *** 作,vb对wei *** 作不是特别的灵活,这个功能最好使
用c或者c++语言来实现,执行效率要高的多。
2:使用vb api函数:getfullpathname
Public Declare Function GetFullPathName Lib "kernel32" Alias "GetFullPathNameA" (ByVal lpFileName As String, ByVal nBufferLength As Long, ByVal lpBuffer As String, ByVal lpFilePart As String) As Long
----------------------代码段开始------------------------------ CString strText;TCHAR exepath[MAX_PATH]={0};::GetModuleFileName(NULL,exepath,MAX_PATH);strText=exepath;strText=strTextLeft(strTextReverseFind(''''));strText += _T("");
----------------------代码段结束-------------------------------
GetModuleFileName是一个API函数,通过这个函数,可以获得运行的当前程序的EXE文件所在的路径。直接将这几句代码,在MFC中封装成一个函数即可。GetModuleFileName第一个参数是示例句柄,设为NULL则表示当前执行的EXE的。第二个参数就是接受得到的可执行路径的字符串缓冲。第三个是缓冲的大小。大小就是声明的缓冲的大小,以TCHAR为单位。strTextLeft()是CString提供的字符串截取函数,具体的可以查看MSDN或者本站其他相关文章。ReverseFind()是CString提供的字符串查找函数,具体的可以查看MSDN或者本站其他相关文章。本文就是给大家提供一个方面,仅此而已。
以上就是关于c语言如何获取用户通过键盘输入的文件目录中的文件名和文件路径,ballball大佬帮帮我
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)