ファイルをn等分するプログラム – プログラミング – Home

ファイルをn等分するプログラム
 
通知
すべてクリア

ファイルをn等分するプログラム


tydg
 tydg
(@tydg)
ゲスト
結合: 19年前
投稿: 1
Topic starter  

こんにちわ。
下のプログラムはファイルを2等分するものなのですが、
今度は下のを参考にコマンドラインで入力したn個の数に分割したいと思っています(n
等分)。が、n個の出力ファイルを作るなど、なかなかうまくいきません(T_T)
何かいい方法はないでしょうか?? よろしくお願いしますm(__)m
#include<iostream>
#include<fstream>
using namespace std;

int main (int argc,char *argv[])
{
ifstream in(argv[1],ios::in | ios::binary);
if(!in){
cout << Cannot open file.\n;
return 1;
}

ofstream out1(argv[2],ios::out | ios::binary);
if(!out1){
cout << Cannot open file.\n;
return 1;
}

ofstream out2(argv[3],ios::out | ios::binary);
if(!out2){
cout << Cannot open file.\n;
return 1;
}
char ch;
int h,i;
long a;

in.seekg(0,ios::end);
a=in.tellg();
h = a /2;
cout << 入力ファイルのサイズは << a << byteです。\n;

in.seekg(0,ios::beg);

for(i=0; i<h; ++i){
in.get(ch);
out1.put(ch);
}

for(i=h; i<a; ++i){
in.get(ch);
out2.put(ch);
}

in.close();
out1.close();
out2.close();

return 0;
}


引用解決済
トピックタグ
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

どっかの課題見たいな内容だけど?

何が、どう、うまくいかないのかな?

a=元サイズ / n

for(x=1;x<n;x++) {
sprintf(file_nm[x],out%3.3d.dat,x);
ofstream out1(file_nm[x],ios::out | ios::binary);

aの分、読み込んで書き込む
 out1.close();

}
in.close();

こんな感じじゃないの?


返信引用
tib
 tib
(@tib)
ゲスト
結合: 22年前
投稿: 468
 

質問者へ。

↑のサンプル、変数「file_nm」の型は何でしょう?
ここ、結構重要かも、なので注意してくださいね。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました