プロが教えるわが家の防犯対策術!

こんばんは、
プログラミングの初心者です。
現在、c++でファイルサイズを指定して、ファイルを作成するプログラムを作っているのですが、どうすれば、サイズを指定してファイルを作れるのでしょうか?関数とかあれば、教えてください。
ファイル内容はかまないが、ファイルサイズが1MBです。
以上、よろしくお願いいたします。

A 回答 (2件)

C++汎用のコードなら空ファイルを作って、指定サイズ分だけ適当なデータを書き込む。

0書き込みで良いでしょう。
#include <stdio.h>
int makefile(const char* filename, size_t size)
{
FILE* fp = fopen(filename,"wb");
for (size_t i=0; i<size; i++) {
fputc(0,fp);
}
fclose(fp);
}
これくらいでできるのではないかな。性能は悪そうだけど。

OSやファイルシステム依存で良くて、簡単にやるならコマンド呼び出しが楽かと。Windowsならfsutil.exeとか。
# http://www.atmarkit.co.jp/fwin2k/win2ktips/243la …

Linux等ではddコマンドで。
# http://d.hatena.ne.jp/takihiro/20090203/1233630557
    • good
    • 0
この回答へのお礼

お蔭様で、解決できました。
本当に、ありがとうございました。

お礼日時:2009/07/28 22:13

seekして書き込みます


#include<stdio.h>

FILE *f = fopen("C:\\~", "wb");
fseek(f,1000000 - 1,SEEK_SET); //必要サイズ-1
fputc(0,f); //1バイト出力
fclose(f);
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています