ブログの説明
パソコンやアンドロイドなどの情報を収集しまとめているブログです。

記事内に張られている画像はクリックすると見やすいサイズの画像が表示されるようになっています。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
アクセスカウンター
検索フォーム
カレンダー
10 | 2018/11 | 12
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ファイルコピーサンプル(C++)

ファイルをコピーするサンプルを作りました。

int fileCopy(char *fileName)
{
	//コピー名を設定する
	char outPutFileName[128];
	strcpy( outPutFileName , "copy_" );
	strcat( outPutFileName , fileName );
	cout << outPutFileName << endl;

	FILE *sorceFile //元ファイル
		, *outputFile;//出力ファイル

	bool *buff;//汎用にするためboolバッファ
	int buffSize_MB = 1024;//バッファの容量
	long buffDataCount = 1024 * 1024 * buffSize_MB;//バッファのデータ数
	long readDataCount;//読み込んだデータ数
	long writeDataCount;//書き込んだデータ数
	long loopCounter = 0;

	buff = ( bool * )malloc( sizeof( bool ) * buffDataCount );

	fopen_s( &sorceFile , fileName , "rb");
	fopen_s( &outputFile , outPutFileName , "wb");
	
	while( 1 )
	{
		readDataCount = fread( buff , sizeof( bool ) , buffDataCount , sorceFile ) ;
		writeDataCount = fwrite( buff , sizeof( bool ) , readDataCount , outputFile ) ;
		loopCounter++;
		cout << buffDataCount << "   " << readDataCount << "   " << writeDataCount << endl;
		if( readDataCount != buffDataCount ) break;
	}
	cout << loopCounter << "回コピーサイクルをしました" << endl;


	fclose( outputFile );
	fclose( sorceFile );

	free( buff );

	return 0;
}

COMMENT

EDIT COMMENT

非公開コメント

最新トラックバック
ブロとも申請フォーム
QLOOKアクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。