
No.1ベストアンサー
- 回答日時:
const char * const filename[5] ={ "1.txt","2.txt","3.txt","4.txt","5.txt" };
でよいのでは?
この回答への補足
回答ありがとうございます。
回答いただいた方法だと上手くいったんですが、質問には書いてなかったんですがファイルポインタを構造体にしていて、
typedef struct file{
FILE *fp;
char *filename;
}sFILE;
sFILE fp[5];
const char * const name[5]={"1.txt","2.txt","3.txt","4.txt","5.txt"};
for(i=0;i<5;i++){
fp[i].fp=NULL;
fp[i].filename=name[i];//←
}
としたかったんですが、構造体にすると//←の部分でエラーになってしまいます。
この場合どのようにしたらいいのでしょうか?
すいません。勘違いだったみたいで↓でうまくいきました。
typedef struct file{
FILE *fp;
char *filename;
}sFILE;
sFILE fp[5];
char *name[5]={"1.txt","2.txt","3.txt","4.txt","5.txt"};
for(i=0;i<5;i++){
fp[i].fp=NULL;
fp[i].filename=name[i];
}
No.2
- 回答日時:
"オープンしたい"ファイル名(文字列)の配列とオープンしたファイルへのポインタの配列とは別物ですよ。
FILE *fp はオープンしたファイルへのポインタを格納しますからファイル名("1.txt")への文字列ポインタではありません。
ですので、
char filename[ ] = { "abc.txt", "def.txt"などなど };
FILE *fp[ 5];
という具合に二つの配列を宣言しておいて、
for ( ... )
fp[i] = fopen( filename[i], ..... )
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Replace関数について教えて...
-
CSSが全く分かりません、お助け...
-
CPUが16bitでも32bitOSでコンパ...
-
最初に聞かれたこと
-
DLLファイルの逆コンパイラにつ...
-
C言語 関数、変数の宣言について
-
C言語でファクト関数を使わずに...
-
あってる
-
DNCL(共テ用プログラミング言語...
-
バッチファイルで以下のような...
-
visual studio 2022でのC#プロ...
-
プログラミングc++を全く分か...
-
DNCL(共テ用プログラミング言語...
-
C言語 配列と関数の練習問題
-
gccを行ってもexeファイルが生...
-
c言語
-
VisualStudio2022でC言語プログ...
-
ストリームについて。
-
Cのオブジェクトファイルの逆ア...
-
Windows Formアプリからコンソ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルの各行を配列...
-
【Javascript】改行されていな...
-
連番のファイルを何個も開きたい
-
特定のデータを更新する
-
Perlのワンライナーをスクリプ...
-
Perl Grepについて
-
「パスが見つかりません」とい...
-
Pythonでegrep機能をつかいたい
-
C++でのテキストファイル読み込...
-
ファイルから検索条件を読み込...
-
perlでCSVをソートする方法につ...
-
ファイル読み込みマッチングに...
-
どなたか教えて下さい。
-
VBSの処理について
-
Perl テキスト処理について
-
***.cgiの中身は第三者から見ら...
-
バッチファイルでテキストファ...
-
ファイル名に日付を入れてアッ...
-
perl での文章の取得について
-
ファイル名を複数個配列で確保...
おすすめ情報