掲示板ランキング  その他のコミック(ジュディーコミックス)


掲示板利用宣言

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

 私は

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

掲示板1

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

No.6728

ファイル入出力
投稿者---とおる(2006/11/09 17:36:33)


第17章のサンプルプログラムですが、


while(fgets(s,256,fin)!=NULL)
fputs(s,fout);



whileで繰り返せとしてますが、fgetcなら1文字でwhileしなければならないが、
fgetsは文字列を読み取るので、whileがいらない気がするんですが、
どうなんでしょうか?



#include    <stdio.h>
#include    <stdlib.h>

int main(void)
{
    FILE    *fin,*fout;
    char    infile[40],outfile[40],s[256];

    printf("入力ファイル名=");
    gets(infile);

    printf("出力ファイル名=");
    gets(outfile);

    if( (fin=fopen(infile,"r"))==NULL) {        
        printf("入力ファイルがオープンできません\n");
        exit(1);
    }

    if( (fout=fopen(outfile,"w"))==NULL) {      
        printf("出力ファイルがオープンできません\n");
        exit(1);
    }

    while(fgets(s,256,fin)!=NULL) {  
        fputs(s,fout);              
    }
    fclose(fin);                    
    fclose(fout);                  

    return 0;
}




この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:ファイル入出力 6729 Blue 2006/11/09 17:56:30


No.6729

Re:ファイル入出力
投稿者---Blue(2006/11/09 17:56:30)


fgetsは1行の文字列を取得します。
複数行あればその分ループさせる必要があります。

というか、試しにやってみればどんな結果になるのかわかると思うのですけど。


この投稿にコメントする

削除パスワード

No.6730

Re:ファイル入出力
投稿者---とおる(2006/11/09 22:58:43)


回答ありがとうございました。

改行されていると、読み込みが止まるようですね。

どうも、ありがとうございました。


この投稿にコメントする

削除パスワード

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





掲示板提供:(有)リアル・インテグリティ