請教為何字串給Insert 空白值,列印出來變問號?? |
答題得分者是:RaynorPao
|
kswedu
一般會員 發表:9 回覆:13 積分:4 註冊:2004-04-13 發送簡訊給我 |
有一資料結構
typedef struct DM { AnsiString b_word ; } dm ; dm *s,*ss ; void __fastcall TForm1::Button2Click(TObject *Sender) { void print_t(); dm *s ; s = new Ticket; s->b_word ="中國" ; print_t(); } void printSticket() { dm *s; s=ss; Printer()->BeginDoc(); Printer()->Canvas->TextOut( 100,100,t1-> b_word); //這一行顯示正常 Printer()->Canvas->TextOut( 100,100, t1-> b_word.Insert(“ “,2)); //在字中間加一空白這一行顯示問號 ? ? 為何,有人知道嗎? Printer()->EndDoc(); }發表人 - kswedu 於 2004/04/15 16:22:53 |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 有一資料結構typedef struct DM { AnsiString b_word ; } dm ; dm *s,*ss ; void __fastcall TForm1::Button2Click(TObject *Sender) { void print_t(); dm *s ; s = new Ticket; s->b_word ="中國" ; print_t(); } void printSticket() { dm *s; s=ss; Printer()->BeginDoc(); Printer()->Canvas->TextOut( 100,100,t1-> b_word); //這一行顯示正常 //Printer()->Canvas->TextOut( 100,100, t1-> b_word.Insert(“ “,2)); //在字中間加一空白這一行顯示問號 ? ? 為何,有人知道嗎? Printer()->Canvas->TextOut( 100,100, t1-> b_word.Insert(“ “,3)); Printer()->EndDoc(); } kswedu 你好: (1)試試看改成以上這個樣子行不行呢? (2)因為 AnsiString 的 index 是從 1 開始計算,而「中國」這兩個字的中字 佔了兩個 bytes,所以你要在兩個字之中插入空白,應該是第 3 個 byte 才 對-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
kswedu
一般會員 發表:9 回覆:13 積分:4 註冊:2004-04-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |