テキストファイルの結合 – プログラミング – Home

テキストファイルの結合
 
通知
すべてクリア

[解決済] テキストファイルの結合


VCrookie
 VCrookie
(@VCrookie)
ゲスト
結合: 21年前
投稿: 2
Topic starter  

環境:Win2000 VC++6.0 MFC

あるフォルダに以下のような1行のテキストファイルが複数あります。

AAA,BBB,CCC,123,456,987.654,・・・

各ファイルは別アプリケーションから、各々イベント発生時に作成され、
AAA、BBB等はそのイベント内容の情報であり、それをカンマ区切りの
文字列として出力しています。
これらのファイルをExcelで開ける1つのファイルに結合させたいのですが、
うまい方法はありますでしょうか?

今考えているやり方としては、ベタベタですが
1.フォルダ内の全ファイルを検索
2.1つ目のファイルの文字列を読み込み改行コードを付加
3.2でできたの文字列に次のファイルの文字列をつなげ、さらに改行コードを付加
4.3を最後のファイルまで繰り返し
5.できあがった文字列を拡張子.csvファイルとして保存
てな具合にやればできなくはないのですが、いちいち2.3.のようなことを
やらなくても、直接ファイル同士を結合させる方法ってないですかね?
strcatならぬfilecatなる関数があればいいのですが、、、。
もし良い解決法があればよろしくご教授願います。


引用未解決
トピックタグ
渋木宏明(ひどり)
 渋木宏明(ひどり)
(@渋木宏明(ひどり))
ゲスト
結合: 22年前
投稿: 196
 

unix 系OSなら、お望みどおり、cat というコマンドがあります。

DOS/Windows でも

COPY A+B C

でファイル連結できます。

NT 系OSなら、工夫すればバッチでもできるかも。

でも、改行はさんだりとかの処理があるんなら、プログラムでやった方が早そ。

コンパイルするのが面倒なら、WSH でも使うとか。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

二つのファイルを改行を入れてつなげる:

#include <fstream>
using namespace std;

void main()
{
ifstream f1(a.txt), f2(b.txt);
ofstream f3(c.txt);
f3 << f1.rdbuf() << endl << f2.rdbuf() << endl;
}


返信引用
VCrookie
 VCrookie
(@VCrookie)
ゲスト
結合: 21年前
投稿: 2
Topic starter  

dairygoodsさんの方法でできました。
どうもありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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