如何显示#00后的字符串?请各位帮帮小弟! |
答題得分者是:christie
|
jim19
一般會員 發表:1 回覆:1 積分:0 註冊:2009-02-08 發送簡訊給我 |
[code delphi] var vstream:tfilestream; c:array[1..100] of char; s:string; begin vstream:=tfilestream.Create('c:\1.txt',fmopenread); setlength(s,100); vstream.Read(c,100); move(c,s[1],100); showmessage(inttostr(pos(#00,s))); showmessage(s); vstream.Free; end; [/code] 本程序读取1.txt中的100个字节,在100个字节中有#00,而win32程序中#00是作为字符串结尾的,所以用showmessage(s)无法显示100字节中#00以后的字符,但是pos能够在程序中找到#00的位置,而且在调试的时候,变量s中也显示的完整的100个字符串。 请各位帮帮忙,看看如何才能showmessage字符串中所有的字符。 |
chenyk
高階會員 發表:14 回覆:95 積分:171 註冊:2002-07-08 發送簡訊給我 |
|
christie
資深會員 發表:30 回覆:299 積分:475 註冊:2005-03-25 發送簡訊給我 |
procedure TForm1.Button1Click(Sender: TObject);
var vstream:tfilestream; c:array[1..100] of char; s:string; i:integer; begin vstream:=tfilestream.Create('d:\1.txt',fmopenread); setlength(s,100); vstream.Read(c,100); move(c,s[1],100); i:=pos(#0, s); while i>0 do begin s:=copy(s,1,i-1) ' ' copy(s,i 1,100); i:=pos(#0, s); end; showmessage(s); vstream.Free; end;
------
What do we live for if not to make life less difficult for each other? |
jim19
一般會員 發表:1 回覆:1 積分:0 註冊:2009-02-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |