Just My Life & My Work

對於要處理同樣的資料,我喜歡批次處理,這樣子可以節省不少時間,而這些資料可能分散在許多檔案之中,那麼批次開檔(無論輸入或輸出)就顯得相當重要!

這裡紀錄如何批次開檔同名格式,什麼是同名格式呢?我將之定義為名稱相同序號不同,例如:

pix (0).txt
pix (1).txt
pix (2).txt

需要一點技巧去組合char+int+char,也就是組合成整個檔名(檔名+序號+副檔名),我用了迴圈,函式有itoastrcat,加上開檔、關檔,即可完成!

/**
	Theme: Open File whth similar name format (Batch)
	Compiler: Dev C++ 4.9.9.2
	Date: 100/06/05
	Author: ShengWen
	Blog: https://cg2010studio.wordpress.com/
*/
#include<fstream>
using namespace std;

fstream fout;

int main(){
    for(int i=0; i&lt;=10; i++){
		char name[15]="pix (";//檔名稱
		char format[]=").txt";//附檔名稱
		char c[4];//限制序號為3位數以內[0, 999]
		itoa(i, c, 10);//將i(int)以10為基底轉換成c(char)
		strcat(name, c);//將c接到name之後
		strcat(name, format);//將format接到name之後
		fout.open(name, ios::out);//開檔

		fout<<i<<endl;//輸出到檔案

		fout.close();//關檔
	}
    system("pause");
    return EXIT_SUCCESS;
}

程式碼我展示輸出模式,於是執行結果會產生11個(0~10)檔案,裡頭有數字(0~10),若想讀檔,就去改ios::outios::in

話說,這個程式碼可以用來惡作劇,將執行檔傳給想捉弄的人,想辦法誘使對方開啟它,一旦執行完畢,該資料夾就會產生成千上萬(自己設定)個空檔案(當然也可以有字元在檔案中),對方就會很生氣,因為要慢慢地把檔案給刪掉XD

Comments on: "[C++] 批次開檔~同名格式 (Open File whth similar name format (Batch))" (1)

  1. […] 參考: 1.逍遙文工作室, [C++] 批次開檔~同名格式(Batch) […]

    Liked by 1 person

隨意留個言吧:)~

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

標籤雲