获取字符串长度

saz*_*azr 0 installer nsis

有没有办法找出NSIS中字符串的长度?

我试图测试文件是否为空(没有内容).一种方法是读取文件并将内容存储在一个字符串(称为contentStr)中,然后查看该contentStr字符串的长度.如果它> 0那么它不是空的.

另一种方法是检查contentStr ==""是否如下所示,它不起作用.它应该在任何空文件永远不会返回1:

!macro IsFileEmpty fName res

    !insertmacro ReadFile "${fName}" ${res}

    StrCmp ${res} "" +1 +2
    IntOp ${res} 1 + 0
    IntOp ${res} 0 + 0

!macroend
Run Code Online (Sandbox Code Playgroud)

Sek*_*eki 5

要获取字符串长度,请使用StrLen:

StrLen $0 "123456" # ==> $0 = 6
Run Code Online (Sandbox Code Playgroud)

如果您想在尝试阅读之前获取文件大小,请在另一个答案中查看Francisco指出的技术.