• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイルやディレクトリに)

空白を含む名前のファイルやディレクトリの取得方法

このQ&Aのポイント
  • 空白を含む名前のファイルやディレクトリの取得方法について調査しました。
  • ファイルやディレクトリに空白を含む名前を付けた場合、プログラムでその名前を正しく処理する方法が必要です。
  • GetCommandLine()関数を使用して空白付き名前のファイルを受け取る方法について調べましたが、名前が正しく受け取れない場合があります。別のC言語用API関数が存在するかどうか調査する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
noname#5537
noname#5537
回答No.1

Windows2000 + SP3, VC++ 6.0 ではダブルクォーテーション("")で囲まれて、 フルパスで入っていました。環境によって違うんですかね。 メモ帳のアイコンに "x y.txt" をドロップしたら開けますか? 処理系によっては __argv にもコマンドライン引数が入っていますが、 あんまり期待しないほうがいいかもです。 for (int i=0 ; i<__argc ; i++) { std::cout << __argv[i] << std::endl; } __argv はアンダースコア2つです。定義されていないと言われたら、 #include <stdlib.h> してみてください。

nubou
質問者

お礼

ありがとうございました 以下のプログラムで完璧に動くことを確認しました #include <windows.h> #include <string> using namespace std; WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) { string str=""; // str=GetCommandLine();str='|'+str+'|'; for(int i=0;i<__argc;str=str+'<'+__argv[i++]+'>'); MessageBox(NULL,str.c_str(),"Command",MB_OK); return 0; }