如何在本文文件第一行写入字符串?(100分)

  • 主题发起人 主题发起人 djunny
  • 开始时间 开始时间
D

djunny

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在本文文件第一行写入字符串?谢谢?
====================
为什么tstringlist.savetofile保存的是ansi编码的本文?
我需要换成unicode的,有办法吗?
 
var
ls:TStringList;
begin
ls:=TStringList.Create;
ls.LoadFromFile('......');
ls.Insert(0,'xxxxxxxxxx');
ls.SaveToFile('......');
ls.Free;
end;
 
楼上正解
 
要保存的文件编码为unicode呢?
 
这个网上有很多啊
unicode是双字节 就是widestring
保存成unicode格式文本文件时 注意文件头是fffe
 
找到办法:
var SL: TStringList;
MM: TMemoryStream;
AnStr: String;
WS: WideString;
P: PByteArray;
begin
SL:= TStringList.Create;
MM:= TMemoryStream.Create;
try
SL.LoadFromFile('test.txt');
AnStr:= SL.Text;
WS:= AnStr; //转为Unicode

//文本开头写进Unicode的标识
GetMem(P, 2 * Sizeof(Char));
P[0]:= $FF;
P[1]:= $FE;
MM.Write(P^, 2 * Sizeof(Char));

//将Unicode文本写进流中保存。
MM.Write(PWideChar(WS)^, Length(WS) * Sizeof(WideChar));
MM.SaveToFile('test2.txt');

FreeMem(P);
finally
SL.Free;
MM.Free;
end;
end;
 
后退
顶部