1. 程式人生 > >c++ 簡單文字替換

c++ 簡單文字替換

#include <fstream>
#include <iostream>
#include <string>
using namespace std;


int main(int argc, char** argv)
{
	if (argc < 5)
	{
		cout << "usage: {executable} {from_file_name} {to_file_name} {from_str(such as 30001)} {to_str(such as 30013)}";
		return -1;
	}

	string strFromFileName = argv[1];
	string strToFileName = argv[2];

	const string strFrom = argv[3];
	const string strTo = argv[4];

	ifstream ifs;
	ifs.open(strFromFileName, ios::in);
	ofstream ofs;
	ofs.open(strToFileName, ios::out | ios::trunc);
#define MAX_LNE_LEN 2048
	char szLine[MAX_LNE_LEN + 1];
	while (ifs.good() && !ifs.eof())
	{
		memset(szLine, 0, MAX_LNE_LEN);
		ifs.getline(szLine, MAX_LNE_LEN);
		szLine[MAX_LNE_LEN] = '\0';
		string strTmp = szLine;
		auto posTmp = strTmp.find(strFrom);
		if (posTmp != string::npos)
		{
			while (posTmp != string::npos)
			{
				string strPre = strTmp.substr(0, posTmp);
				ofs.write(strPre.c_str(), strPre.size());
				ofs.write(strTo.c_str(), strTo.size());
				strTmp = strTmp.substr(posTmp + strlen(strFrom.c_str()));
				posTmp = strTmp.find(strFrom);
			}
			ofs.write(strTmp.c_str(), strTmp.size());
		}
		else
		{
			auto nLen = strlen(szLine);
			ofs.write(szLine, nLen);
		}
		ofs.write("\n", 1);
	}

	ofs.flush();
	ifs.close();
	ofs.close();

	return 0;
}

replace.bat:

simplereplace.exe heros_hf_nobk_template.sql __tmp.sql AAAAA 30001
simplereplace.exe __tmp.sql heros_hf_nobk.sql BBBBB 30006
del __tmp.sql



相關推薦

c++ 簡單文字替換

#include <fstream> #include <iostream> #include <string> using namespace std; int main(int argc, char** argv) { if (

C# 簡單的異或加密文字檔案或字串

一、加解密字串 1、加密方法:將原字串與加密字元進行異或 1 private char[] Encrypt(string content, string secretKey) 2 { 3 char[] data = content.ToCharArray(); 4 char[

c#實現簡單文字編譯器

上學期有個程式設計實驗,其中一個是需要實現一個帶介面的簡單文字編輯器。這裡選擇用c#來實現。 頁面設計和具體功能 在檔案處選擇新建一個文字,這裡的文字使用窗體實現載入 有一些快捷鍵:比如字型選擇按鈕,點選以後可以出現一個窗體,實現字型的選擇。但是這裡貌似有點

C++的簡單文字IO

從命令列讀取一個檔案的檔名,輸出文字有多少個字元 #include <iostream> #include <fstream> #include <string> #include <cstdlib> using namespace std; int c

C#RichTextBox 文字查詢與替換

〖歡迎轉載〗轉載請註明出處 把 查詢,替換,全部替換 三個button 的 Enabled 設定為 false ,f替換內容TextBox   Enabled 也設定為false , CheckBox2 為選中.... 在主窗體中 關聯一個函式就可以了,主窗體關聯如下:

C++簡單介紹

必須 cpp rpc 跳過 動態 resolved line 實際應用 cast 一、怎樣用C++的源文件產生一個可運行程序 一個C++程序由一個或者多個編譯單元組成。每一個編譯單元都是一個獨立的源碼文件。一般是一個帶.cpp的文件,編譯器每次編一個文件編譯單元,生成一

c簡單的單向鏈表

是不是 .cn int 指針 include 什麽 都沒有 ima list ps:list鏈表 node節點 在鏈表中節點就是一個個的結構體 堆空間由於在申請內存時,地址是隨機的,所以要用鏈表的方式將其連接起來,但是鏈表頭的地址要知道. 每個節點包含兩個部分:數據區和地

[轉] A*尋路算法C++簡單實現

track pos endpoint 障礙 close math.h 不存在 rec 節點 參考文章: http://www.policyalmanac.org/games/aStarTutorial.htm 這是英文原文《A*入門》,最經典的講解,有demo演示 ht

C++簡單版BitSet求解大量數據是否存在莫個數

end private ext its append 大量數據 name parent -- #include <iostream> using namespace std; template<int N> class BitSe

C - 簡單計算器

sum break std 解法 測試 print 計算器 空格 += 題目: 讀入一個只包含 +, -, *, / 的非負整數計算表達式,計算該表達式的值。 Input測試輸入包含若幹測試用例,每個測試用例占一行,每行不超過200個字符,整數和運算符之間用一個空格分隔。

C#簡單的JPush(極光推送) API實現推送功能(來自mojocube的博客)

size 返回 log c# api live str -s 周期 APP推送功能大家應該都了解了,目前主要的有百度、極光等幾家公司提供推送服務,下面說一下極光推送API的簡單實現推送通知功能。 註冊完極光的賬號後,就可以創建應用,建好後會得到AppKey和Master

Week 1 # C 簡單計算器

字符 str 代碼 個數 return ++ 結果 mes tle 原題描述: C - 簡單計算器 讀入一個只包含 +, -, *, / 的非負整數計算表達式,計算該表達式的值。 Input測試輸入包含若幹測試用例,每個測試用例占一行,每行不超過200個字符,整數和運

C#圖片文字識別

har ise com 兼容 匯總 朋友 -1 ocr wid 圖片識別的技術到幾天已經很成熟了,只是相關的資料很少,為了方便在此匯總一下(C#實現),方便需要的朋友查閱,也給自己做個記號。 圖片識別的用途:很多人用它去破解網站的驗證碼,用於達到自動刷票或者是批量註

[數據結構(二)]七種排序算法的C++簡單實現

末尾 技術分享 下標 ima http 直接 wap temp 部分 一.冒泡排序(Bubble Sort) 基本思想:兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止。 //冒泡排序 void BubbleSort(int *p, int lengt

[0311]C++簡單程序設計-1

() 插入 mage enter eve 列表 課程 參考 表達式 南京信息工程大學實驗報告 實驗名稱 C++簡單程序設計-1 實驗日期 2018-3-13 得分 指導教師 耿學華 系 計軟院 專業 計嵌+軟嵌 年級 2017 級 班次 (1) 姓名 施昊陽 學號 2016

[0318]C++簡單程序設計-2

width 信息 函數 play 過程 理解 指定 實驗 ont 南京信息工程大學實驗報告 實驗名稱 C++簡單程序設計-2 實驗日期 2018-3-20 得分 指導教師 耿學華 系 計軟院 專業 計嵌+軟嵌 年級 2017 級 班次 (1) 姓名 施昊陽 學號 20161

[0415] C++簡單程序設計-4 類和對象2

compare gets draw 描述 try 處理 圖形 編譯 ios 南京信息工程大學實驗報告 實驗名稱 類和對象2 實驗日期 2018-4-17 得分 指導教師 耿學華 系 計軟院 專業 計嵌+軟嵌 年級 2017 級 班次 (1) 姓名 施昊陽 學號 201613

c#簡單的數據庫查詢與綁定DataGridView。

行數 order by .config string lda val 讀取配置 AC private 1配置文件 (兩種寫法) <connectionStrings> <add name="connStr" connectionString="ser

object-c 簡單入門

end @property alloc 類方法 some ptr 轉發 protocal 實現 1、類 //類的聲明 @interface myClass : 父類 {   // {} 裏聲明成員變量   @public   @private   @protected //

<轉載> UE4的Actor類C++簡單嘗試

package imageview 獲取 png include += original iostream -h 原文鏈接: 簡書 小小酥XX https://www.jianshu.com/p/2bcc80f0e789 一開始我用了一段時間UE4,發現如果