その場所を出力する C プログラムを書きたいと思っています。
たとえば、プログラムの exe ファイルをD:\myfolder\myc_prog
に配置すると、同じ場所がD:\myfolder\myc_prog
出力され、その exe ファイルをその場所E:\mynewfold\
に配置すると、更新された場所が出力されますE:\mynewfold
。
実際、私はそれを行う方法がわからないため、この質問の詳細を提供することはできません.
Windows を使用しているので、GetModuleFileNameでうまくいくはずです。パラメータを渡すだけNULL
です。hModule
長いファイル名を処理したい場合は、ドキュメントを注意深く読んでください (通常はそうしています)。また、ディレクトリ パスを取得するには、実行可能ファイルの名前を削除する必要があります。これを行う手っ取り早い方法は、最後の の後のすべてを削除すること\
です。
#include <Windows.h>
#include <stdio.h>
int main(int argc, char *argv[]){
char buff[256];
if(GetCurrentDirectory(256, buff)){//get current directory
printf("%s\n", buff);
}
return 0;
}