c语言如何获取用户通过键盘输入的文件目录中的文件名和文件路径,ballball大佬帮帮我

c语言如何获取用户通过键盘输入的文件目录中的文件名和文件路径,ballball大佬帮帮我,第1张

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大佬帮帮我

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9753214.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存