掲示板ランキング  フォーマル靴  サンダル  ブーツ  長靴・レインシューズ  上履き  靴下


掲示板利用宣言

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

 私は

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

掲示板1

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

No.6924

バイナリファイル
投稿者---ccgirl(2006/12/17 11:46:09)


基本的なことで申し訳ないのですが、
以下は、jpgファイルを読み込み、テキストにバイナリで書き込みます。


  while( !feof(fp) ){
  fread( a,sizeof(a),1,fp );
  fwrite( a,sizeof(a),1,fp1 );
}

の部分が自信がありませんが、あてますでしょうか?






#include<stdio.h>
#include<stdlib.h>
int main(void)
{
    char a[5];
    FILE *fp;
    FILE *fp1;  
    
    if((fp=fopen("a.jpg","rb"))==NULL){
    printf("no open");
    exit(1);
}
 
    if((fp1=fopen("gg.txt","wb"))==NULL){
    printf("no open");
    exit(1);
}

    while(!feof(fp)){
    fread(a,sizeof(a),1,fp);
    fwrite(a,sizeof(a),1,fp1);
}

    

    fclose(fp);
    fclose(fp1);
return 0;
}   



この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:バイナリファイル 6925 asako 2006/12/17 13:47:52
<子記事> Re:バイナリファイル 6926 si 2006/12/17 21:05:21


No.6925

Re:バイナリファイル
投稿者---asako(2006/12/17 13:47:52)


1文字読んでは書く、ということを繰り返せばいいのではないかしら。

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

int main(void)
{
    FILE *fp, *fp1;
    int c;
    
    if ((fp = fopen("a.jpg", "rb")) == NULL) {
        printf("no open");
        exit(1);
    }
    
    if ((fp1 = fopen("gg.txt", "wb")) == NULL) {
        printf("no open");
        exit(1);
    }
    
    while ((c = fgetc(fp)) != EOF)
        fputc(c, fp1);
    
    fclose(fp);
    fclose(fp1);
    return 0;
}





この投稿にコメントする

削除パスワード

No.6926

Re:バイナリファイル
投稿者---si(2006/12/17 21:05:21)


>while( !feof(fp) ){
>fread( a,sizeof(a),1,fp );
>fwrite( a,sizeof(a),1,fp1 );
>}
ファイルサイズが、sizeof(a)で割り切れるとは限らないので、
リードサイズを受け取らないと不味い。
rdsize = fread( a,1,sizeof(a),fp );
wrsize = fwrite( a,1,wrsize,fp1 );
また、エラーが出たときどうするの?
Cの標準関数は、ネットにリファレンスマニュアルがあるので、manpage fread 等とググると、すぐ出てきます。


この投稿にコメントする

削除パスワード

No.6927

Re:バイナリファイル
投稿者--- (2006/12/17 21:26:00)


> wrsize = fwrite(a,1,wrsize,fp1);

第3引数は rdsize ですね。



この投稿にコメントする

削除パスワード

No.6946

Re:バイナリファイル
投稿者---ccgirl(2006/12/19 21:00:55)


レスどうもです!

fgetcでもいけるんですね!
freadの解説ありがとうございます!


この投稿にコメントする

削除パスワード

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





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