No.4ベストアンサー
- 回答日時:
★過去にも同様な質問がありましたよ。
>の*arg[]のところに30個以上の引数を持っていけません。
↑
私の環境では25個前後です。
>ドラッグ&ドロップで、プログラムにデータを持っていこうとすると
>「指定されたデバイス、バス、またはファイルにアクセスできません。アクセス許可がない可能性がありません。」
>という警告メッセージがでます。
↑
OSの制限によるものだと思います。
>何か方法はないでしょうか?
↑
エクスプローラからファイルを選択したら右メニューより『コピー(C)』を選択します。
その後にプログラムからクリップボードの HDROP ハンドルを取得すれば選択された
すべてのファイルパスを取得できます。この方法ならドラッグ&ドロップしないで
プログラムを起動すれば良いので argc、argv は不要になります。
・まずは過去質問を読んでみて下さい。
http://oshiete1.goo.ne.jp/qa3222390.html→『コンソールアプリの起動パラメータ について』
このリンクの回答 No.4 に文字数の確認用のサンプルを載せています。
ドラッグ&ドロップしたときはフルパス名で 2100 バイトまで受け取れるようです。
よって1つのファイルのパスが深いとあまり多くのファイルを渡せません。
逆にルートのパス(C:\)なら100個以上のファイルをドラッグ&ドロップで渡せます。
・以上。ファイルの受け渡しインタフェースを考え直してみましょう。
参考URL:http://oshiete1.goo.ne.jp/qa3222390.html
No.3
- 回答日時:
引数は「ファイル名のみ」ですか?「パス+ファイル名」ですか?
また、途中に空白を含むものがあるとか。
試しに引数ひとつひとつをダブルクォーテーションで囲んでみるのはどうでしょう?
例)
C:\My Documens and Settings\Text31.txt C:\(以下 略)
"C:\My Documens and Settings\Text31.txt" "C:\(以下 略)"
のように。
No.2
- 回答日時:
OSは何でしょう?
プログラムの制限ではなく、OSのコマンドラインの文字数制限に引っかかっているのではないでしょうか?
この回答への補足
XPです。
文字数制限とはANO.1のSAYKAさんのURLにある
ファイル名: 255 文字
フルパス名: 約 32,000 文字
コマンドライン引数: 32,767 文字
でしょうか?
コマンドライン引数の32,767 文字というのが何の文字数かよくわかりませんが、
いろいろのテキストデータで試したのですがきっちり30個でエラーがでます。
今実験したところ、
テキストデータ、約50個をC:\の直下に持っていってそこから引数にしたら今度はエラーが出ずに成功しました。
フルパス名の上限に引っかかっていたようです。
すいません、ファイルの場所が悪かったみたいです。
No.1
- 回答日時:
ありがとうございます。
1つうえでも書きましたが、ファイル名やパスの上限ではないと思います。
コマンドライン引数: 32,767 文字
というのがよくわかりませんが、これに引っかかっている可能性がありそうなので、調べてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語 共用体について コマンドライン引数で値を2つ入力したときに、argv[2]の値をUNI u1 4 2022/04/25 20:34
- C言語・C++・C# C言語のファイル入力が分かりません 2 2022/05/22 06:35
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaでPDFファイルに変換するに...
-
【Excel VBA】取り込んだファイ...
-
GetOpenFileName()について
-
VBAで、JPG写真の撮影日時を読...
-
0バイトのテキストファイル
-
サイトマップにサブドメインを...
-
HTMLまたはJavaScriptでフ...
-
VB6でTIFF図のプロパティを...
-
ファイル作成日時と更新日時を...
-
BASP21のファイルアップロード...
-
VB6.0のメモリリークについて
-
<input type="file" で初期値...
-
文字コードについて(どのファ...
-
リソースファイルを認識してく...
-
CSVファイルの時刻の形式について
-
テキストファイルの一部分を抽...
-
COBOL FILLER
-
テキストファイル内容の、16進...
-
accessでクエリをExcelにエクス...
-
VB.NET操作で Excelにビットマ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel VBA】取り込んだファイ...
-
0バイトのテキストファイル
-
VBAで、JPG写真の撮影日時を読...
-
HTMLテキストリンクでExcelファ...
-
Eclipseで検索ができなくなった
-
【VBA】複数CSVの特定範囲を1つ...
-
2GB以上のファイルを扱う方法
-
C++によるファイル送受信プログ...
-
VB6.0のメモリリークについて
-
vbaの構文の修正相談(xmlファ...
-
サイトマップにサブドメインを...
-
BASP21のファイルアップロード...
-
ディレクトリのサイズの取得
-
msgget()で指定するkey値について
-
ファイル更新日取得
-
main関数のコマンドライン引数...
-
<input type="file" で初期値...
-
C++.NET 2003 「空のドキュメ...
-
RPGでメッセージファイル利用
-
Indy FTP サーバー上のファイル...
おすすめ情報