
-512.txt~512.txtのファイルを順に読み込むプログラムを
作っています。
以下のコードのように作って動かしてみたのですが,
-512から-3.txtまで入力してくれるのですが
-2.txtの所でエラーが起きてしまいます.
ファイルは確実に存在するのですが…
fopenには大量のファイルを読み込むのは向いてないのでしょうか?
他に良い方法があれば教えて頂けると幸いです.
宜しくお願いします
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp;
int i=0;
char s[256];
char filename[256];
//ファイル名編集
for(i=-512;i<512;i++){
fp=NULL;
sprintf(filename,"distance\\routing_a\\%d.txt",i);
printf("%sを読み込みます\n",filename);
/* ここで、ファイルポインタを取得する */
if ((fp = fopen(filename, "r")) == NULL) {
printf("%s file open error!!\n",filename);
exit(EXIT_FAILURE);/* (3)エラーの場合は通常、異常終了する */
}
}
fclose(fp);/* (5)ファイルのクローズ */
return 0;
}
環境
OS:windows XP
開発環境 visual studio 2008
No.1ベストアンサー
- 回答日時:
>fopenには大量のファイルを読み込むのは向いてないのでしょうか?
「ファイルを読み込む」が「ファイルを複数同時に開いておく」であればできません。
処理系にも依存しますが、ある程度のところでファイルオープンに失敗します。
わたしが過去に経験したものでは10程度でNGになりました。
fopen()とfclose()が対になっていませんので、同時にファイルを開く必要がなければ、
fopen()を使用し、処理(読み込み書き込み何でもいいです)が終わったらfclose()で閉じてから、次のファイルを開いてください。
arainさん、はじめまして
ご回答ありがとうございました。
ファイルを複数同時に開いておくわけではないので
説明不足だった点をお詫び申し上げます。
処理が終わる度にfcloseを用いることで
全てのファイル入力をすることができました。
ありがとうございました。
No.2
- 回答日時:
VC++のCRTのファイル記述子の既定最大値はstdin等を含んで512です。
不要ならどんどん閉じてください。
参考URL:http://msdn.microsoft.com/ja-jp/library/kdfaxaay …
dummさん、はじめまして
ご回答ありがとうございました。
まだVC++について知らないことが多すぎるので
これから勉強していきたいと思います。
参考リンク、是非活用させていただきます
ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# C言語のファイル入力が分かりません 2 2022/05/22 06:35
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- C言語・C++・C# #include <stdio.h>int main(void) { int buf[100] = 6 2022/11/01 22:45
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
二重カウント防止
-
MATLAB lsqcurvefitのドキュメ...
-
C言語初心者の質問失礼します。
-
Wordファイルの結合
-
営業秘密の漏洩について
-
C#で、フォームのタイトル名を...
-
phpで複数のファイルのインクル...
-
ファイルオープンの際のウィン...
-
Thunderbirdでemlファイルを開...
-
少人数(約20人)のプロフィー...
-
C++ 設定ファイル
-
DTDファイルについて
-
マスタとファイルの違いって?
-
CSVファイル
-
HTMLファイルをメモ帳から開きたい
-
shellで16桁の数字が含まれるフ...
-
VOCALOID3がMIDIを読み込まない
-
大量のファイルの読み込みについて
-
Excel操作について。 社内で一...
-
Excel から PDFファイルを開く...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
ファイル名の先頭にアンダース...
-
csvファイルを開かずに文字を検...
-
バッチで118項目のCSVを処理し...
-
CSVファイルへの保存の際、デー...
-
グローバル変数のよくない使い...
-
テキストファイルの最終行を削...
-
ドラッグアンドドロップでファ...
-
VB.NETによるプロセス間通信
-
VBAにてEXCEL以外のファイル(テ...
-
分割コンパイルの#defineについて
-
ファイルの結合
-
iniファイルに追記がしたいです。
-
VBに、Cのincludeのようなもの...
-
動画処理のライブラリについて
-
Cでのネットワークファイルの読...
-
ダイアログボックスで複数フォ...
-
C言語のfopenについて教えてく...
-
「VBScript」ADODB.Streamにお...
-
マウスポインタの変更
おすすめ情報