问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言怎么打开文件

发布网友 发布时间:2022-04-24 00:28

我来回答

1个回答

热心网友 时间:2022-05-25 18:24

获取当前程序所在路径:
一、1.只获得路径字串不包含文件名
TCHAR
szFilePath[MAX_PATH
+
1]={0};
GetMoleFileName(NULL,
szFilePath,
MAX_PATH);
(_tcsrchr(szFilePath,
_T('\\')))[1]
=
0;//删除文件名,只获得路径字串
CString
str_url
=
szFilePath;
//例如str_url==e:\program\Debug\---------------------------------------------------------2.获得双斜杠路径不包含文件名TCHAR
_szPath[MAX_PATH
+
1]={0}; GetMoleFileName(NULL,
_szPath,
MAX_PATH); (_tcsrchr(_szPath,
_T('\\')))[1]
=
0;//删除文件名,只获得路径
字串 CString
strPath; for
(int
n=0;_szPath[n];n++){if
(_szPath[n]!=_T('\\')){
strPath
+=_szPath[n]
;} else{
strPath
+=
_T("\\\\");}}MessageBox(strPath);//输出==e:\\program\\Debug\\二、1:获取应用程序自身完整路径文件名方法1:#include
"stdlib.h"void
main(){cout
<<
_pgmptr
<<
endl;}方法2:char
szFullPath[MAX_PATH];ZeroMemory(szFullPath,MAX_PAT);::GetMoleFileName(NULL,szFullPath,MAX_PATH);::MessageBox(NULL,szFullPath,"path",MB_ICONINFORMATION);方法3:TCHAR
szPath[MAX_PATH]
=
{0};if(!GetMoleFileName(NULL,
szPath,
MAX_PATH)){
return
;
} AfxMessageBox(szPath);2:如何获取应用程序所在目录?这里值得注意的是很多人都用GetCurrentDirectory(MAX_PATH,
szCurrentPath);来获取。这个方法并不好,经常出错,比如现在我有一个程序在d:\test目录下,现在运行这个程序后用GetCurrentDirectory得到的是d:\test。接着在程序里用CFileDialog来打开一个C:\test\test.txt文件后再调用GetCurrentDirectory,那么得到的szCurrentPath就是C:\test而不是d:\test。推荐用如下方法来得到当前程序所在目录比较安全:void
_splitpath(
const
char
*path,
char
*drive,
char
*dir,
char
*fname,
char
*ext
);函数来分解开始提到的_pgmptr,然后再用void
_makepath(
char
*path,
const
char
*drive,
const
char
*dir,
const
char
*fname,
const
char
*ext
);函数来对分解后的路径进行组合。这两个函数结合起来功能强大,使用灵活,基本上所有的有关目录和路径方面的操作都可以搞定,就是麻烦。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
大学入学应该带哪些必备物品? tim删除聊天记录的方法步骤 pc端彻底删除tim聊天记录 甩脂机调到什么档位 如何用甩脂机 甩脂机的正确使用方法 使用抖脂机要注意什么 怎样申请小号微信号 ...的长和宽分别增加6米,扩建后草坪的面积增加了多少 ...扩建后长和宽分别增加10米,扩建后的操场面积增加了多少平方米?_百 ... 长方形的公园它的面积长和宽分别扩大十米后它的平方增加了面积增加了13... 雨刮器喷水喷不出来是什么原因? 怎么打开文档c 农用电动喷雾器故障 第一 就是出水变得无力 射不远了 第二 桶里的水还剩好多吸不玩 就打不出来了 ? windows8怎么打开c语言 怎么打开c程序? 我的电动喷雾器电机转,但不出水什么原因。 本地磁盘C怎样打开 怎么打开C语言啊 c++ 如何打开文件 怎么打开C语言 c怎么打开文件 怎么样用VC++打开C文件? 美的电压力锅盖不上该怎么去解决? 在生活中,貂绒的毛衣要怎么洗才不会起球? 貂绒和羊毛制成的服装有哪些优点 貂绒十羊毛衣服能水洗吗? 貂绒是什么面料? 貂绒和羊毛哪个更保暖 羊绒和水貂绒有什么区别,哪个好 羊毛衫和貂绒衫哪个好专业人士回答?说说哪个更好? 刚买的小喷雾瓶却喷不出水该怎么办? 如何在记事本下打开C:\WINDOWS\system32\drivers\etc\? .c文件如何打开? 请问cpp和c文件该怎么打开? 怎样打开C:\windows\system32\drivers\etc\hosts 文件 农银人寿爱永恒五年期和定期存款哪个划算 科创板盘后固定价格交易申报数量有何要求? 农银爱永恒终身寿险三年期什么时候能一次性取出本金? 农银爱永恒终身寿险交5年能直接拿出来吗? 我今天去农行存钱,被忽悠买了农银爱永恒终身寿险,我想退掉怎么办? 三月份去农行存钱,被工作人员忽悠买了农银爱永恒保险,现在以过了犹豫期,想退保5万能退多少? 农银爱永恒终身寿险五年后可以退保吗? 农银爱永恒终身保险5年以后能推给我本金么? 交了两年的农行爱守护保险,帮我看看啥意思? 我去农行存钱,被忽悠买了农银人寿爱相随保险,现在我想退保,怎么办 淘宝会员名可以更改么? 淘宝会员名能修改吗? 中央电视台是什么时候创立的? 家居的天燃气热水器开关在哪 热水器开关在哪