用c 怎么获取当前程序所在的路径
发布网友
发布时间:2022-05-17 08:29
我来回答
共1个回答
热心网友
时间:2023-10-15 04:48
要用 c++ 程序:
#include <windows.h>
#include <string>
#include <iostream>
using namespace std;;
string ExePath() {
char buffer[MAX_PATH];
GetMoleFileName( NULL, buffer, MAX_PATH );
string::size_type pos = string( buffer ).find_last_of( "\\/" );
return string( buffer ).substr( 0, pos);
}
int main() {
cout << "my directory is " << ExePath() << "\n";
}
=====
c 程序,也许可以通过char *argv[] 寻找,
int main(int argc, char *argv[]){。。。。}
argv[0] 含程序名,可以尝试 用 system() 调 DOS 命令查找:
#include<stdio.h>
int main(int argc, char *argv[])
{
FILE *fp;
char s[80];
sprintf(s,"DIR %s.c > a.log",argv[0]);
system(s); // 执行后,屏幕输出 存入 a.log 文本文件
fp =fopen("a.log","r"); // 打开文件
// 这里 一行一行地读文件,找到 关键词 Directory of , 例如:
// Directory of D:\ZZ\C\example
// D:\ZZ\C\example 就是当前路径
return 0;
}