ドラッグされたファイルのフォルダ名を抜き出す良い方法

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
シエル

ドラッグされたファイルのフォルダ名を抜き出す良い方法

#1

投稿記事 by シエル » 15年前

いつもお世話になっております。シエルです。

今回は情けない質問で申し訳ありませんが、
実行ファイルにドラッグされたファイルのディレクトリ名を取得したいのですが、
どうもうまくいかずに困っています。

現在のプログラムは下記のようになっています。
まず、コマンドライン引数のバイト数を求めて、後ろから1文字ずつ「¥」マークがあるところまで
見ていきそっから前の部分だけ引っこ抜こうと思ったのですが、
この「¥」マークを指定しても、エスケープ文字に見られてしまうらしくコンパイルできません。
何かいい方法はないでしょうか?
極力WINAPIを使用しない方法でお願い致します。

char out[200];
int i;

int length=strlen(argv[1]);

for(i=length-1;i!=-1;--i){
if('¥' == argv[1])//
break;
}

if(i==-1){

puts("どうやらフォルダ名が正しく取得できませんでした");
getchar();
    fclose(fp);
return -1;

}else{//円マークが見つかったら

memcpy(out,argv[1],i+1);//フォルダ名をコピー
out[i+1]='\0';//終端文字を入れる。

}


情けない質問で申し訳ございませんが、よろしくお願い致します。

追記:
この掲示板だと¥マークが/に変換されるので、コード内では全角にしてます。 画像

MNS

Re:ドラッグされたファイルのフォルダ名を抜き出す良い方法

#2

投稿記事 by MNS » 15年前

\\
で良いのではないでしょうか?

追記:つまり¥¥です。 画像

シエル

Re:ドラッグされたファイルのフォルダ名を抜き出す良い方法

#3

投稿記事 by シエル » 15年前

うわー。円マークって¥¥で表すんだったんですね。

そのとおりやったらいけました。お恥ずかしい><

たまに変なところが抜けてるところがあるので、
今回のような質問をしてしまうかもしれませんが、今後ともよろしくお願い致します。

閉鎖

“C言語何でも質問掲示板” へ戻る