fread()とfwrite()関数のファイル読み書き操作
2779 ワード
[cpp] view plain copy print ?
#include int main()
{ FILE* pFile;
float buffer[] = { 2.0 , 3.0 , 8.0 }; pFile = fopen("myfile.bin" , "wb");//ファイル書き込みを開く fwrite(buffer , 1 , sizeof(buffer) , pFile);//浮動小数点配列をファイルmyfile.に書く.bin fclose(pFile);//ファイルを閉じる float read[3];
pFile = fopen("myfile.bin" , "rb");//ファイル読み込みを再開する fread(read , 1 , sizeof(read) , pFile);//ファイルからデータを読む printf("%f\t%f\t%f", read[0], read[1], read[2]);
fclose(pFile);//ファイルを閉じる return 0;
}
[cpp] view plain copy print ?
/*fread example:read a complete file完全なファイルを読み込む*/ #include
#include
int main() {
FILE* pFile;//ファイルポインタ long lSize;//ファイル長 用
char* buffer;//ファイルバッファポインタ size_t result;//戻り値は読み出したコンテンツ数 pFile = fopen("myfile.bin" , "rb");
if (pFile == NULL) {fputs("File error", stderr); exit(1);}//ファイルエラーの場合、1 を終了
//obtain file size:ファイルサイズを取得 fseek(pFile , 0 , SEEK_END);//ポインタファイル末尾 へ移動
lSize = ftell(pFile);//ファイル長を取得 rewind(pFile);//関数rewind()ファイルポインタをstream(ストリーム)で指定された先頭に移動し、ストリームに関連するエラーとEOFタグ をクリアします.
//allocate memory to contain the whole file:ファイル全体にメモリバッファ を割り当てる
buffer = (char*) malloc(sizeof(char) * lSize);//バッファを割り当て、前のlSize を押す if (buffer == NULL) {fputs("Memory error", stderr); exit(2);}//メモリ割り当てエラー、終了2 //copy the file into the buffer:バッファ にコピー
result = fread(buffer, 1, lSize, pFile);//戻り値は読み出したコンテンツ数 if (result != lSize) {fputs("Reading error", stderr); exit(3);}//戻り値ファイルサイズでない場合、読み込みエラー /* the whole file is now loaded in the memory buffer.*///ファイル全体がメモリバッファ にロードされます.
//メモリを読んで、自分がどのように使ったかを見て......
// ...........
//terminate//ファイル終了 fclose(pFile); free(buffer);
return 0; }
#include
{
float buffer[] = { 2.0 , 3.0 , 8.0 };
pFile = fopen("myfile.bin" , "rb");//ファイル読み込みを再開する
fclose(pFile);//ファイルを閉じる
}
#include
int main()
{
FILE* pFile;
float buffer[] = { 2.0 , 3.0 , 8.0 };
pFile = fopen("myfile.bin" , "wb"); //
fwrite(buffer , 1 , sizeof(buffer) , pFile); // myfile.bin
fclose(pFile); //
float read[3];
pFile = fopen("myfile.bin" , "rb"); //
fread(read , 1 , sizeof(read) , pFile); //
printf("%f\t%f\t%f
", read[0], read[1], read[2]);
fclose(pFile); //
return 0;
}
[cpp] view plain copy print ?
/*fread example:read a complete file完全なファイルを読み込む*/
#include
int main()
FILE* pFile;//ファイルポインタ
char* buffer;//ファイルバッファポインタ
if (pFile == NULL) {fputs("File error", stderr); exit(1);}//ファイルエラーの場合、1 を終了
//obtain file size:ファイルサイズを取得
lSize = ftell(pFile);//ファイル長を取得
buffer = (char*) malloc(sizeof(char) * lSize);//バッファを割り当て、前のlSize を押す
result = fread(buffer, 1, lSize, pFile);//戻り値は読み出したコンテンツ数
// ...........
return 0;