ドラッグ&ドロップでファイル名取得 – プログラミング – Home

ドラッグ&ドロップでファイル名取得
 
通知
すべてクリア

[解決済] ドラッグ&ドロップでファイル名取得


く~
 く~
(@く~)
ゲスト
結合: 22年前
投稿: 19
Topic starter  

C++でプログラムをDOSベースで作成しています。
作成したプログラムは、実行後あるファイルを入力させて
それを処理するものです。
現在のところ、DOS窓でファイル名を手入力で入力し、ファイル
処理を実行させています。
これを作成された.EXEファイルに直接処理させたいファイルを
ドラッグ&ドロップすることによって実行させる方法はありま
せんでしょうか?
どなたかよろしくお願いします。


引用未解決
トピックタグ
るんるん
 るんるん
(@るんるん)
ゲスト
結合: 22年前
投稿: 7
 

コンソールアプリのことですよね?
ちょっと試してみましたが、
ドロップされたファイル名はargvに格納されてるみたいです。


返信引用
く~
 く~
(@く~)
ゲスト
結合: 22年前
投稿: 19
Topic starter  

argv[1]にフルパスでファイル名が入っていました。
今、これをファイル名だけにするようにすればどうしたらよいのか
思案中です。
いい方法はありますか?


返信引用
tib
 tib
(@tib)
ゲスト
結合: 23年前
投稿: 468
 

strrchr()を使って、最後に出てくる「\」を検索すれば、その次の文字から文字列の最後
までがファイル名。


返信引用
く~
 く~
(@く~)
ゲスト
結合: 22年前
投稿: 19
Topic starter  

>strrchr()を使って、最後に出てくる「\」を検索
strrchr(argv[1], \)とすると
「エスケープシーケンスの使い方が正しくない」
と怒られます。
「¥」ってどうやって検索すればよいでしょうか?


返信引用
tib
 tib
(@tib)
ゲスト
結合: 23年前
投稿: 468
 

strrchr( argv[1], '\\' ); という風に。


返信引用
く~
 く~
(@く~)
ゲスト
結合: 22年前
投稿: 19
Topic starter  

>strrchr( argv[1], '\\' ); という風に。
ありがとうございます。
できました。
で、もうひとつ甘えていいですか?
今度は、ファイル名を除いたプルパスを得るにはどうしたら
よいでしょうか?


返信引用
tib
 tib
(@tib)
ゲスト
結合: 23年前
投稿: 468
 

>もうひとつ甘えていいですか?
なんでもかんでも訊いてしまえばそのものズバリ答えてくれる便利なところと思わないよ
うに。
C言語において文字列とは「あるアドレスからNULL文字('\0')まで」ということが理解で
きれば自ずとどうすればいいか見えてくるはずです。


返信引用
く~
 く~
(@く~)
ゲスト
結合: 22年前
投稿: 19
Topic starter  

ありがとうございました。


返信引用
NEG(ねぐ)
 NEG(ねぐ)
(@NEG(ねぐ))
ゲスト
結合: 22年前
投稿: 178
 

 こんなのとかも、、、
http://www24.cds.ne.jp/~neg/pro/piyo1/devfil/make.html


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました