请问如何使一字符串覆盖到另一字符串的指定位置 |
尚未結案
|
xiaoning79627
初階會員 發表:46 回覆:60 積分:26 註冊:2002-11-10 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
aquarius
資深會員 發表:3 回覆:347 積分:330 註冊:2003-05-21 發送簡訊給我 |
引言: 请问如何使一字符串覆盖到另一字符串的指定位置。例: 将字符串'abc'覆盖字符串s:string[20]从16号位开始。 也就是使string[16]:='a'..... 我现在的做法是先删除所插字符位置的字符,然后在把‘abc’插入。 自觉这个方法不好,不知能有什么更好的方法。特相各位大大求教,谢谢。 努力,相信会做的更好!用標準字串指令, 是比較不會出錯. 不過你若是要求快, 且要輸入的字串很肯定沒問題的話, 可以這樣做 strlcopy(@s[16],'abc',3) ; ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com |
xiaoning79627
初階會員 發表:46 回覆:60 積分:26 註冊:2002-11-10 發送簡訊給我 |
|
aquarius
資深會員 發表:3 回覆:347 積分:330 註冊:2003-05-21 發送簡訊給我 |
引言: 这样不行啊!我定义一个S:STRING[40] 这样赋值后S变为‘F ’ 努力,相信会做的更好!不行?? 你的 S 有給初值嗎? 若你的 S:='F' ; 套用我那段後, S 還是只會等於 F 呀!! 因為你的字串中間, 夾了 #0 , 當然就只顯示 #0 之前的字. s:='12345678901234567890' ; strlcopy(@s[16],'abc',3) ; ShowMessage(s) ; 這樣就會是你要的. ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com |
xiaoning79627
初階會員 發表:46 回覆:60 積分:26 註冊:2002-11-10 發送簡訊給我 |
引言: 不行?? 你的 S 有給初值嗎? 若你的 S:='F' ; 套用我那段後, S 還是只會等於 F 呀!! 因為你的字串中間, 夾了 #0 , 當然就只顯示 #0 之前的字. s:='12345678901234567890' ; strlcopy(@s[16],'abc',3) ; ShowMessage(s) ; 這樣就會是你要的. ...Aquarius我的S给了个全为0的初值。按你的方法,‘abc’是覆盖了原来的字符,但其后的字符却没了。也就是s[18]以后的值都没了。该怎么处理呢?谢谢 努力,相信会做的更好! |
aquarius
資深會員 發表:3 回覆:347 積分:330 註冊:2003-05-21 發送簡訊給我 |
引言: 我的S给了个全为0的初值。按你的方法,‘abc’是覆盖了原来的字符,但其后的字符却没了。也就是s[18]以后的值都没了。该怎么处理呢?谢谢 努力,相信会做的更好!其後的字符? 你都填 0 , 其後那有什麼字符? 搞不清楚你要的功能倒底是怎樣的... 把你原本用 刪除再插入 的那個 FUNCTION 貼出來看看吧!! 這樣我才能了解你倒底是要做什麼樣的 FUNCTION 呀!! 其實... 用我提供這個方法, 只是讓你有個方向, 怎麼完成覆蓋字串的 FUNCTION. 怎麼好像變成在幫你寫 FUNCTION 了..... ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com |
aquarius
資深會員 發表:3 回覆:347 積分:330 註冊:2003-05-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |