ショッピングモール  レギュラー(エスプレッソ用)  レギュラー(フレーバーコーヒー)


掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板1

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧

No.5248

fopenするファイルを変数にしたい
投稿者---akkiakki(2006/01/10 19:47:38)


コンパイラーはgcc、OSはlinux。


#include <stdio.h>
int main( void )
{
FILE *WRITE;
char line[200];
int j;
WRITE = fopen("chk","w");

for( j=1; j<100 ; j++ )
{
FILE *READj;
READj = fopen("trajectory_j","r");
fgets(line,200,READj);
fprintf(WRITE,"%s\n",line);
}
return(0);
}



以上のように、trajectory_1,trajectory_2,trajectory_3,‥‥‥trajectory_99のファイルを読み込みたいのですが、上記のプログラムではtrajectory_jというファイルを99回読み込むことになってしまいます。どうか、解決策を教えてください。全くの初心者ですので、できるだけ、分かり易くお願いします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:fopenするファイルを変数にしたい 5249 iijima 2006/01/10 20:05:54
<子記事> Re:fopenするファイルを変数にしたい 5252 nop 2006/01/10 23:29:02


No.5249

Re:fopenするファイルを変数にしたい
投稿者---iijima(2006/01/10 20:05:54)


sprintf関数を使ってファイル名を作成するのが良いでしょう。

// sprintf関数の使用例
#include <stdio.h>
#define BUFFER_SIZE 256
int main( void )
{
    char buffer[ BUFFER_SIZE ];
    int i;
    for( i = 0; i < 10; i++ ){
        sprintf( buffer, "number_%d", i );
        printf( "%s\n", buffer );
    }
    return 0;
}



この投稿にコメントする

削除パスワード

No.5250

もう少し詳しくお願いします。
投稿者---akkiakki(2006/01/10 21:19:10)


for( i = 0; i < 10; i++ ){
sprintf( buffer, "trajectory_%d", i );
printf( "%s\n", buffer );
}

i=1の時に、bufferが持っている、trajectory_1をどうやって
fopen("trajectory_1","r");
と同じ意味の文にすればよいのでしょうか?




この投稿にコメントする

削除パスワード

No.5251

Re:もう少し詳しくお願いします。
投稿者---Blue(2006/01/10 21:31:01)


>fopen("trajectory_1","r");
>と同じ意味の文にすればよいのでしょうか?
fopen(buffer,"r");

ソースを載せる時はHTML変換ツールをご利用ください。


この投稿にコメントする

削除パスワード

No.5252

Re:fopenするファイルを変数にしたい
投稿者---nop(2006/01/10 23:29:02)


> 全くの初心者ですので

では、勉強して基本的な事項から覚えていけばよいでしょう。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧




掲示板提供:Real Integrity