aurain
技術(shù)文摘
C++博客
首頁
新文章
新隨筆
聚合
管理
posts - 137, comments - 268, trackbacks - 0
刪除首次出現(xiàn)字串
今天在cppblog看了一篇這樣的博文,下午的時候?yàn)榱耸煜は拢约阂矊懥藗€,本來要給出原博文的地址的,但發(fā)現(xiàn)記不起來了,當(dāng)時也是隨意瀏覽的,這里表示抱歉。
int
mystrstr(
const
char
*
src,
const
char
*
sub)
{
int
ret
=
-
1
;
char
*
cp
=
(
char
*
)src;
char
*
s1,
*
s2;
if
(
!*
sub)
return
ret;
while
(
*
cp)
{
s1
=
cp;
s2
=
(
char
*
)sub;
while
(
*
s1
&&
*
s2
&&
!
(
*
s1
-*
s2))
{
s1
++
;
s2
++
;
}
while
(
!*
s2)
return
ret;
cp
++
;
ret
++
;
}
return
ret;
}
int
mystrlen(
const
char
*
src)
{
int
ret
=
0
;
while
(
*
src
++
)
{
ret
++
;
}
return
ret;
}
bool
del_substr(
char
*
src,
const
char
*
sub)
{
int
idx
=
mystrstr(src, sub);
if
(idx
<
0
)
{
return
false
;
}
int
iLen
=
mystrlen(sub);
for
(
int
i
=
idx
+
1
; i
<
mystrlen(src); i
++
)
{
*
(src
+
i)
=
*
(src
+
i
+
iLen);
}
return
true
;
}
int
_tmain(
int
argc, _TCHAR
*
argv[])
{
char
szSrc[]
=
"
abcdefghi
"
;
char
*
szSub
=
"
de
"
;
del_substr(szSrc, szSub);
cout
<<
szSrc
<<
endl;
}
posted on 2008-07-07 16:29
水
閱讀(1782)
評論(10)
編輯
收藏
引用
所屬分類:
算法與數(shù)據(jù)結(jié)構(gòu)
FeedBack:
#
re: 刪除首次出現(xiàn)字串
2008-07-07 17:10 |
hamburger
!(*s1-*s2)為什么不寫成(*s1 == *s2)?
回復(fù)
更多評論
#
re: 刪除首次出現(xiàn)字串
2008-07-07 17:45 |
陳梓瀚(vczh)
事實(shí)上==更好,x86的比較不需要產(chǎn)生結(jié)果,減法會產(chǎn)生結(jié)果。
回復(fù)
更多評論
#
re: 刪除首次出現(xiàn)字串[未登錄]
2008-07-08 03:11 |
snow
how about src is NULL , and sub is NULL
回復(fù)
更多評論
#
re: 刪除首次出現(xiàn)字串[未登錄]
2008-07-08 03:57 |
strstr
if standard string functions are allowed to be used, how about following function? Maybe you just want to write your own strstr and strlen functions?
char * del_substr(char *src, const char *sub)
{
int i, j;
char *dst = src;
char *temp = strstr(src, sub);
if (src == NULL)
return NULL;
if (sub == NULL || temp == NULL)
return dst;
j = strlen(temp) - strlen(sub);
for (i = temp-dst; i < temp-dst+j; i++)
dst[i] = dst[i + strlen(sub)];
dst[i] = '\0';
return dst;
}
回復(fù)
更多評論
#
re: 刪除首次出現(xiàn)字串
2008-07-08 08:37 |
feosun
while (!*s2)
return ret;
寫成
if (!*s2)
return ret;
不是更好么
回復(fù)
更多評論
#
re: 刪除首次出現(xiàn)字串
2008-07-08 13:49 |
水
@hamburger,陳梓瀚(vczh)
這個我是借鑒微軟標(biāo)準(zhǔn)庫里面的實(shí)現(xiàn)方式,所以當(dāng)時沒考慮那么多。謝謝兩位的提醒,受教了!
回復(fù)
更多評論
#
re: 刪除首次出現(xiàn)字串
2008-07-08 13:50 |
水
@snow
對,沒有對傳入?yún)?shù)進(jìn)行判斷了,以后我要注意了,即使平時測試也要養(yǎng)成嚴(yán)格的習(xí)慣。謝謝你
回復(fù)
更多評論
#
re: 刪除首次出現(xiàn)字串
2008-07-08 13:52 |
水
@strstr
嗯,寫這個就是在不能使用crt的情況下的。
你寫的也對,效率應(yīng)該比我的要好些
回復(fù)
更多評論
#
re: 刪除首次出現(xiàn)字串
2008-07-08 13:53 |
水
@feosun
很有道理!
回復(fù)
更多評論
#
re: 刪除首次出現(xiàn)字串
2008-07-09 09:32 |
cexer
博主是一個虛心學(xué)習(xí)的好同志!學(xué)習(xí)了!
回復(fù)
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
大數(shù)據(jù)量,海量數(shù)據(jù)處理方法總結(jié)(轉(zhuǎn))
hash算法大全(轉(zhuǎn)http://www.shnenglu.com/koson/archive/2010/03/11/109446.html)
整數(shù)劃分算法原理與實(shí)現(xiàn)
求二進(jìn)制數(shù)中1的個數(shù)
計算最大公約數(shù)的兩種算法
用至少三種方法實(shí)現(xiàn)1+2+...+n
Win32內(nèi)存相關(guān)API
刪除首次出現(xiàn)字串
內(nèi)部排序算法比較
一個數(shù)組,下標(biāo)從0到n,元素為從0到n的整數(shù)。判斷其中是否有重復(fù)元素
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
V2EX創(chuàng)意工作者的社區(qū)
<
2008年7月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(17)
給我留言
查看公開留言
查看私人留言
隨筆分類
(138)
Android(2)
c/c++基礎(chǔ)知識(17)
Java(4)
Linux(7)
socket編程(8)
sql(3)
tcp/ip(18)
udt分析(2)
vc(13)
Windows開發(fā)(10)
windows驅(qū)動(17)
架構(gòu)(1)
內(nèi)存管理(3)
軟件分析(8)
算法與數(shù)據(jù)結(jié)構(gòu)(10)
網(wǎng)絡(luò)安全(2)
項(xiàng)目管理(8)
協(xié)議分析(4)
移動互聯(lián)(1)
隨筆檔案
(137)
2015年11月 (1)
2015年5月 (1)
2014年11月 (1)
2014年10月 (1)
2014年7月 (7)
2014年4月 (1)
2014年3月 (3)
2014年2月 (4)
2014年1月 (2)
2013年10月 (1)
2013年3月 (1)
2013年1月 (1)
2012年12月 (1)
2012年11月 (2)
2012年7月 (1)
2011年9月 (1)
2011年8月 (2)
2011年6月 (2)
2011年3月 (1)
2010年11月 (2)
2010年9月 (1)
2010年8月 (1)
2010年7月 (5)
2010年5月 (2)
2009年12月 (3)
2009年11月 (1)
2009年9月 (3)
2009年8月 (3)
2009年6月 (7)
2009年4月 (5)
2009年3月 (7)
2009年2月 (3)
2009年1月 (7)
2008年12月 (1)
2008年11月 (6)
2008年10月 (5)
2008年9月 (2)
2008年8月 (6)
2008年7月 (2)
2008年6月 (11)
2008年5月 (3)
2008年4月 (4)
2008年3月 (3)
2008年2月 (7)
2008年1月 (1)
2007年12月 (2)
網(wǎng)絡(luò)開發(fā)
C++的羅浮宮
C++基礎(chǔ)知識
逆水行舟
基礎(chǔ)知識
紫月城游戲軟件
網(wǎng)絡(luò)編程
最新隨筆
1.?Java調(diào)優(yōu)知識匯總
2.?Web API
3.?htop使用備忘
4.?Windows下jre server模式啟動
5.?ubuntu下允許mysql遠(yuǎn)程連接
6.?SQLServer性能優(yōu)化之 nolock,大幅提升數(shù)據(jù)庫查詢性能
7.?數(shù)據(jù)庫SQL優(yōu)化大總結(jié)之 百萬級數(shù)據(jù)庫優(yōu)化方案
8.?Ubuntu12.0.4 server手工安裝jdk6
9.?Ubuntu12.04 server配置apache2+php5+mysql5環(huán)境
10.?Ubuntu 12.04 root登錄
搜索
積分與排名
積分 - 497450
排名 - 36
最新隨筆
1.?Java調(diào)優(yōu)知識匯總
2.?Web API
3.?htop使用備忘
4.?Windows下jre server模式啟動
5.?ubuntu下允許mysql遠(yuǎn)程連接
6.?SQLServer性能優(yōu)化之 nolock,大幅提升數(shù)據(jù)庫查詢性能
7.?數(shù)據(jù)庫SQL優(yōu)化大總結(jié)之 百萬級數(shù)據(jù)庫優(yōu)化方案
8.?Ubuntu12.0.4 server手工安裝jdk6
9.?Ubuntu12.04 server配置apache2+php5+mysql5環(huán)境
10.?Ubuntu 12.04 root登錄
最新評論
1.?re: 浩方對戰(zhàn)平臺原理初步分析
有趣,感謝博主的分析,也敬佩博主的人品。
--Svtter
2.?re: 一種自定義網(wǎng)絡(luò)通信協(xié)議
怎樣學(xué)會
--鐘易成
3.?re: 如何編譯TrueCrypt 7.0a源碼
您好,請問現(xiàn)在還可以找您發(fā)一下源碼么?
--xiaoyaya103
4.?re: svn提交時設(shè)置文件類型過濾
樓主我嘗試了您的方法 好像不去效果
--ss
5.?re: 介紹一個P2P點(diǎn)播直播開源項(xiàng)目,挺不錯的
支持!!
--劉芳
閱讀排行榜
1.?GetWindowRect和GetClientRect(轉(zhuǎn))(34250)
2.?計算最大公約數(shù)的兩種算法(24235)
3.?windows中定時操作(SetTimer函數(shù)用法)(21855)
4.?bug嚴(yán)重級別和優(yōu)先級別定義(13908)
5.?介紹一個P2P點(diǎn)播直播開源項(xiàng)目,挺不錯的(12714)
評論排行榜
1.?如何編譯TrueCrypt 7.0a源碼(29)
2.?用至少三種方法實(shí)現(xiàn)1+2+...+n(19)
3.?【分享】軟件工程規(guī)范-軟件工程文檔模板(12)
4.?指針和引用的聯(lián)系與區(qū)別(10)
5.?刪除首次出現(xiàn)字串(10)
Copyright ©2025 水 Powered By
博客園
模板提供:
滬江博客
日本福利片国产午夜久久
|
青青草原综合久久大伊人
|
午夜不卡888久久
|
四虎亚洲国产成人久久精品
|
婷婷综合久久中文字幕蜜桃三电影
|
久久久久久狠狠丁香
|
亚洲国产成人精品女人久久久
|
日韩精品无码久久久久久
|
久久亚洲国产成人影院网站
|
色综合久久中文字幕综合网
|
亚洲第一极品精品无码久久
|
精品乱码久久久久久夜夜嗨
|
亚洲va久久久噜噜噜久久天堂
|
久久国产成人午夜aⅴ影院
|
久久发布国产伦子伦精品
|
性高湖久久久久久久久AAAAA
|
99久久国产综合精品麻豆
|
久久久亚洲裙底偷窥综合
|
久久久精品国产Sm最大网站
|
avtt天堂网久久精品
|
亚洲国产精品无码久久98
|
欧美久久亚洲精品
|
国产精品丝袜久久久久久不卡
|
久久久国产乱子伦精品作者
|
久久精品国产乱子伦
|
久久久久国产成人精品亚洲午夜
|
99国产精品久久
|
欧洲精品久久久av无码电影
|
国产偷久久久精品专区
|
久久久久亚洲精品中文字幕
|
国产精品免费看久久久香蕉
|
久久免费高清视频
|
狠狠久久亚洲欧美专区
|
久久中文骚妇内射
|
少妇精品久久久一区二区三区
|
久久精品国产AV一区二区三区
|
久久久久久极精品久久久
|
欧美一区二区精品久久
|
中文字幕亚洲综合久久2
|
99久久精品国产一区二区三区
|
亚洲一区二区三区日本久久九
|