同意一楼的,就用copy就行了,这个都不用分析,就是一个for循环,然后一直改变 Index 的值来改变位置就行了
var b:TStringList;b:=TStringList.Create; while length(s)>512 do begin b.Add(copy(s,1,512)); s:=copy(s,81,length(s)-512); end; b.add(s); b.savetofile('C:\1.txt'); b.free;
var b:TStringList;b:=TStringList.Create; while length(s)>512 do begin b.Add(copy(s,1,512)); s:=copy(s,512,length(s)-512); // 第二个串从第一个串的最后一位到源串的最后一位 end; b.add(s); //如果小于512 b.savetofile('C:\1.txt'); b.free;
Index 的值来改变位置就行了
while length(s)>512 do
begin
b.Add(copy(s,1,512));
s:=copy(s,81,length(s)-512);
end;
b.add(s);
b.savetofile('C:\1.txt');
b.free;
是不是有点问题呀?
请明示!
s:要copy的字符串原串。
start:字符起始序号(字符串序号从1开始)
length:要copy的字符长度。
返回一个新的长度为length的字符串。
另hellolongbin老大的算法上可能有点问题
while length(s)>512 do
begin
b.Add(copy(s,1,512));
s:=copy(s,512,length(s)-512); // 第二个串从第一个串的最后一位到源串的最后一位
end;
b.add(s); //如果小于512
b.savetofile('C:\1.txt');
b.free;
s:=copy(s,81,length(s)-512);
这个地方忘改了,81改成513