線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1497
推到 Plurk!
推到 Facebook!

請問char陣列轉成string 的問題

答題得分者是:RaynorPao
cowbjt
一般會員


發表:11
回覆:30
積分:8
註冊:2004-07-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-16 09:26:40 IP:61.222.xxx.xxx 未訂閱
我現在情況是: 會先要使用者輸入一字串 然後依這字串的長度new 一個char陣列 再將這列陣用亂數填入英文字母 然後將這個陣列轉成字串,印出來    而出現的問題是: 一般情況下都很正常,但是 1. 如果輸入的字串只有1個字母的話,印字串會有二個字母 2. 如果輸入的字串有三個字母的話,會印出四個字母    前三個會是亂數產生的,最後一個固定是'A'    (我亂數填入的是(0~26)+97,也就是小寫的字母)    以上是用bcb5 的情況,我試過用bcb6 好像在輸入的字串是1、4、5個字母時有問題的樣子 以下是我的程式碼
int len = input->Text.Length();
char *temp = new char[len];
for(int i = 0; iLines->Append(s);
delete(temp);
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-16 09:39:01 IP:220.130.xxx.xxx 未訂閱
引言: 我現在情況是: 會先要使用者輸入一字串 然後依這字串的長度new 一個char陣列 再將這列陣用亂數填入英文字母 然後將這個陣列轉成字串,印出來 而出現的問題是: 一般情況下都很正常,但是 1. 如果輸入的字串只有1個字母的話,印字串會有二個字母 2. 如果輸入的字串有三個字母的話,會印出四個字母 前三個會是亂數產生的,最後一個固定是'A' (我亂數填入的是(0~26)+97,也就是小寫的字母) 以上是用bcb5 的情況,我試過用bcb6 好像在輸入的字串是1、4、5個字母時有問題的樣子 以下是我的程式碼
int len = input->Text.Length();
char *temp = new char[len];
for(int i = 0; iLines->Append(s);
delete(temp);
cowbjt 你好:
(1)先試試改成這個樣子寫,可不可行呢 (字串必須以 0x00 結尾)?
   int len=Edit1->Text.Length(); 
   char *temp=new char[len+1]; 
   for(int i=0; iLines->Append(s); 
   delete [] temp; 
(2)請再依照自己的需求,自行修改
-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
cowbjt
一般會員


發表:11
回覆:30
積分:8
註冊:2004-07-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-16 12:34:58 IP:140.124.xxx.xxx 未訂閱
嗯嗯,可以了 感謝版主兄,這其實我一開始有想過說 只是後來想,字串都發展那麼久了,這種轉換的動作應該會自已搞定吧 沒想到.....
系統時間:2024-05-04 3:56:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!