Re: [問題] 擷取到的字串轉換成變數
※ 引述《snk521 (哇哈哈)》之銘言:
: ※ [本文轉錄自 C_Sharp 看板 #1I1Dwco6 ]
: 作者: snk521 (哇哈哈) 看板: C_Sharp
: 標題: [問題] 擷取到的字串轉換成變數
: 時間: Fri Aug 9 20:20:52 2013
: 請問板上各位高手如果我想要把截取到的字串轉換成另一個字串,
: 怎樣的方是會比較好呢?假設今天我從一份txt檔擷取一段文字下來,
: 如果我截取的文字是A,我希望我能把其轉換成B以後再貼到另一個txt檔。
: Ex.假設我截取到"Apple"這段文字,我會希望把"Apple"轉換為"Dog"然後
: 打印到另一個txt檔。我有想過用If判斷式的方式來轉換,但是要是對應表
: 高達200多組,程式會看起來很繁瑣。想請問有沒有更好的方式或元件可以
: 達成我想要的效果呢?能否把截取到的字串轉為變數再利用Define的方式
: 讓其轉換成另一個字串呢?該如何做?
: Apple <---> Dog
: Orange <---> Cat
: Grape <---> Lion
: . . .
: . . .
: . . .
可以試看看這個演算法 :
void FindString(void)
{
const char *sFind[][2] = {
{ "Apple","Dog" },
{ "Orange","Cat"},
{ "Grape","Lion"}
};
const char *sRead = 0;
/ ... sRead 表示你從檔案讀取到某部份的字串然後在下面做分析
// 儲存要替換的字串
const char *sTarget = 0;
// 計算陣列大小
const int Findsize = sizeof(sFind) / (2 * sizeof(char*));
for(int i = 0; i < Findsize; i++)
{
// 利用 strcmpi() 函式比對第一個字串是否相符
if (!strcmpi(sRead, sFind[i][0])
{
// 儲存要替換的字
sTarget = sFind[i][1];
}
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.141.146.62
→
08/10 00:59, , 1F
08/10 00:59, 1F
推
08/10 20:28, , 2F
08/10 20:28, 2F
→
08/10 20:28, , 3F
08/10 20:28, 3F
→
08/10 23:00, , 4F
08/10 23:00, 4F
→
08/10 23:02, , 5F
08/10 23:02, 5F
→
08/10 23:04, , 6F
08/10 23:04, 6F
→
08/10 23:07, , 7F
08/10 23:07, 7F
→
08/10 23:09, , 8F
08/10 23:09, 8F
推
08/12 18:54, , 9F
08/12 18:54, 9F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):