C言語で音声を簡単に読み取りオーディオファイルとして保存


全体的に2つの関数:1 fopen 2 fwriteを使用しても
使用方法:
FILE * fopen(const char * path,const char * mode);
fwrite(const void* buffer, size_t size, size_t count, FILE* stream);

(1)buffer:ポインタであり、fwriteにとってデータを出力するアドレスである.(2)size:コンテンツを書き込むバイト数;(3)count:sizeバイトを書き込むデータ項目の数;(4)stream:ターゲットファイルポインタ;
簡単な手順:
FILE *pcm_file;
pcm_file = fopen("/home/yf415/1.pcm", "ab+");
fwrite(buf, sizeof(buf ),  , pcm_file);
fclose(pcm_file);

rファイルは読み取り専用で開き、存在する必要があります.r+は、ファイルが存在する必要がある読み書き可能に開く.rb+読み書きはバイナリファイルを開き、データの読み取りを許可します.rw+読み書きはテキストファイルを開き、読み書きを許可します.w書き込み専用ファイルを開き、ファイルが存在するとファイル長が0にクリアされ、そのファイル内容が消えます.ファイルが存在しない場合は、ファイルを作成します.w+読み取り可能な書き込みファイルを開き、ファイルが存在するとファイル長がゼロになり、そのファイル内容が消えます.ファイルが存在しない場合は、ファイルを作成します.aファイルのみを追加で開きます.ファイルが存在しない場合はファイルが作成され、ファイルが存在する場合は、書き込まれたデータがファイルの最後に追加されます.つまり、ファイルの元の内容が保持されます.(EOF符号保持)a+は、読み書き可能なファイルを追加的に開く.ファイルが存在しない場合はファイルが作成され、ファイルが存在する場合は、書き込まれたデータがファイルの最後に追加されます.つまり、ファイルの元の内容が保持されます.(元のEOF文字は保持されません)wbはバイナリファイルを開くか新規作成するだけです.データの書き込みのみが許可されます.wb+読み取りと書き込みは、読み取りと書き込みを許可するバイナリファイルを開くか作成します.ab+読み書きはバイナリファイルを開き、読み取りまたはファイル末にデータを追加できます.
サンプルテスト:
#include 
#include 
 
#define FILENAME ("/home/snail/work_dir/linux_c_work/file.bin")
#define BUF ("Hello world!
") int main() { FILE *fp = NULL; int write_length = 0; fp = fopen(FILENAME, "ab+"); if(fp == NULL) { return 0; } write_length = fwrite(BUF, 1, strlen(BUF), fp); printf("write_length = %d
", write_length); fclose(fp); fp = NULL; return 0; }

ファイル操作時には、以下の点に注意する必要があります1、ファイルポインタを定義するときに、ファイルポインタを空にします.例えばFILE*fp=NULL;2、ファイル操作が完了したら、ファイルを閉じる必要があります.そうしないと、ファイルに消費されるメモリが漏れ、次回ファイルにアクセスする際に問題が発生することに注意してください.3、ファイルを閉じた後、ファイルのポインタを空に向ける必要があります.そうすると、遊離ポインタが発生することを防止し、工事全体に不要な面倒をもたらすことができます.例えば、fp=NULL;