zoukankan      html  css  js  c++  java
  • Delphi XE里的StrPas要注意哦(要让StrPas知道哪里是字符串结束)

    废话不多说了,直接上例子解说:

    procedure TForm1.Button1Click(Sender: TObject);
    var
      aa: array[0..1]of AnsiChar;
      bb1: string;
    begin
      aa[0] := AnsiChar('1');
      aa[1] := AnsiChar('2');

      bb1 := StrPas(aa);
      ShowMessage(bb1);    //这里显示不正确
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    var
      aa: array[0..2]of AnsiChar;
      bb1: string;
    begin
      aa[0] := AnsiChar('1');
      aa[1] := AnsiChar('2');

      bb1 := StrPas(aa);
      ShowMessage(bb1);   //这就正确了
    end;

    为什么呢??  没时间深入研究了,估计是StrPas的Bug。

    不是bug吧 这个字符串要有结束符吧
    不然你写个StrPas看看,没有结束符,咋判断字符串长度?!

    类似Obj-C:
    char xx[2];
    xx[0] = '0';
    xx[1] = '1';
    [NSString stringWithUTF8String:xx];
    这样你是获得不到正确结果的,要下面这样
    char xx[3];
    xx[0] = '0';
    xx[1] = '1';
    xx[2] = '';
    [NSString stringWithUTF8String:xx];

    http://www.cnblogs.com/AnyDelphi/archive/2011/10/15/2212755.html

  • 相关阅读:
    控制流程
    表达式
    2020.2.7
    寒假自学进度六
    2020.2.6
    2020.2.5
    寒假自学进度五
    Scala初级实验
    寒假自学进度四
    Spark运行基本流程
  • 原文地址:https://www.cnblogs.com/findumars/p/6280440.html
Copyright © 2011-2022 走看看