![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
現在私は ボーランドのターボCを使用しプログラムをしています。
そこで質問なんですが、ファイル名を9文字以上にすると作成されたファイル名が9文字全部にならず
最初の8文字しかファイル名になっていません。
以下のプログラムとなっております。
char fname[128];
FILE *fp;
sprintf(fname,"abcdefghijk.csv");
fp = fopne(fname,"w");
fclose(fp);
上記を実行すると生成されたファイル名が abcdefghijk.csvではなくabcdefgh,csvとなります
ではよろしくお願いします。
No.5ベストアンサー
- 回答日時:
追記。
当然だけど、MS-DOS時代のTurbo CからはAPI関数は呼べないので、API関数を呼ぶライブラリを、アセンブラなどの他の言語で作成して、外部ライブラリとして呼び出ししないといけません。
なので、対象ファイルを「dir /X」で表示して、短いファイル名がどういうファイル名になるのか調べて、短いファイル名をfopenに指定した方が早いです。
No.4
- 回答日時:
古いTurbo Cは、ロングファイル名は未対応です。
8+3を超えるロングファイル名をfopenで指定してファイル作成すると、必ず、8+3のショートファイル名になります。
ファイルを作成するモードでは「ロングファイル名のファイルを作るのは不可能」ですので、ご注意を。
なお、ロングファイル名の既存ファイルをfopenする場合は、ロングファイル名からショートファイル名に変換する必要があります。
例えば「ABCDEFGHIJ.TXT」なら、OSのAPI関数で「ショートファイル名への変換」を行って、8+3の短いファイル名を取得して、それを指定しないといけません。
マイドキュメントのあるフォルダで、コマンドプロンプトで「DIR /X」ってやってみましょう。
2013/06/27 14:51 <DIR> .
2013/06/27 14:51 <DIR> ..
2013/06/27 14:51 <DIR> FAVORI~1 Favorites
2013/06/27 14:51 <DIR> MYDOCU~1 My Documents
2013/06/27 14:51 <DIR> WINDOWS
2013/06/27 14:51 <DIR> スター~1 スタート メニュー
2013/06/27 14:51 <DIR> デスク~1 デスクトップ
と言う表示になります。
この表示の「FAVORI~1」とか「MYDOCU~1」が「短いファイル名」です。
この変換は「単純に~1が付くだけじゃない」ので、API関数を使って、正当な方法で変換しないといけません。
No.3
- 回答日時:
こっちじゃ駄目ですか?
「Borland C++ Compiler 5.5」無償版 提供 エンバカデロ
http://www.embarcadero.com/jp/products/cbuilder/ …
No.1
- 回答日時:
> 現在私は ボーランドのターボCを使用しプログラムをしています。
古いので、互換性のためにショートファイルネームでファイル作成するって事では。
MS-DOSで長いファイル名作られたら、他のファイルを壊したり、削除できないファイルになったりって事故が起き得るし。
Windowsなんか存在しない時代のものなら、そういう事を想定して作るのは無理だし。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Visual Basic(VBA) Excel VBA でデータ転記について 1 2023/03/07 19:11
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトでファイル...
-
[DOS] コピー先に同じファイル...
-
DOSのバッチ作成について‐FORの...
-
VBA GetAttrについて教えてくだ...
-
VB6.0 Dir関数について
-
ファイル名を該当フォルダ内か...
-
VBScriptで特別な意味を持つ記...
-
ExcelVBAのDirでスペース含むフ...
-
ftp処理でmove(移動)を行いたい
-
Excel VBA マクロ ファイル名ソ...
-
【DOSバッチ開発】末尾のタブの...
-
コマンドプロンプトで変数が数...
-
.batでファイル名から抽出して...
-
コマンドプロンプトまたはpower...
-
【Access】エクスポート時のフ...
-
スタートアップのファイルをバ...
-
コマンドプロンプトのエラーに...
-
大量のフォルダからひとつのフ...
-
時間短縮のために、テキストフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトでファイル...
-
コマンドプロンプトで変数が数...
-
[DOS] コピー先に同じファイル...
-
バッチコマンドでファイル名の...
-
バッチファイルで、iniファイル...
-
ExcelVBAのDirでスペース含むフ...
-
ftp処理でmove(移動)を行いたい
-
フォルダ内の更新日時が一番新...
-
.batでファイル名から抽出して...
-
【vbs】ファイル名の検索と該当...
-
word VBA ファイル名 保存
-
access,vbaでフォルダ内のファ...
-
VBA GetAttrについて教えてくだ...
-
バッチ処理で16進数でファイル...
-
ファイル名に ” を使うと エク...
-
サブフォルダからファイルをコ...
-
DOSのバッチ作成について‐FORの...
-
コマンドプロンプトまたはpower...
-
ファイル名を該当フォルダ内か...
おすすめ情報