错误、漏洞、问题 - 页 3019 1...301230133014301530163017301830193020302130223023302430253026...3184 新评论 A100 2021.05.24 17:33 #30181 Andrei Trukhanovich:看来count=0的工作方式与count=-1相同,在""的情况下,它会复制一个终端空。 这就是错误所在,只是用一个实际的例子来说明,一般来说,空字符串和count = 0本身都可能存在(例如在一个循环中)。 fxsaber 2021.05.24 17:41 #30182 A100:又有多少人如果count = 0,它应该复制吗?提示:当count = 3时,将复制3个字符。 我甚至不打算争论。它工作正常。 Andrei Trukhanovich: 看起来count=0与count=-1的工作方式相同,在""的情况下,它复制了一个终端空,所以你不能正确地转换一个空字符串而不进行额外的检查。 空字符串(NULL)不包含终端空。那里的一切似乎都是合乎逻辑的。 A100 2021.05.24 18:07 #30183 fxsaber:我甚至不打算争论。它的工作原理是正确的。 如果没有争论,那当然就不用了。 fxsaber: 空字符串(NULL)不包含终端空。在我看来,一切都在逻辑上运作。 空字符串是"",而NULL不是一个空字符串--它是一个未初始化的字符串,即它根本不是一个字符串,用NULL的StringToCharArray 不工作,错误结果:4009 fxsaber 2021.05.24 18:10 #30184 A100:如果没有争论,那么你当然不需要空字符串是"",而NULL不是空字符串--它是一个未初始化的字符串,也就是说,它根本不是一个字符串,用NULL的StringToCharArray 不工作,错误结果:4009 说句不好听的,你搞错了。 A100 2021.05.24 18:12 #30185 fxsaber:说句不好听的,你搞错了。 如果你对案情有什么要说的,请解释。 fxsaber 2021.05.24 18:15 #30186 A100:如果你对案情有什么要说的,请解释。 string Str = NULL; Print(Str == ""); A100 2021.05.24 18:20 #30187 fxsaber: 结果:假 而这一说法的矛盾之处在于什么? 关于交易、自动交易系统和策略测试的论坛 虫子,虫子,问题 A100, 2021.05.24 20:07 空字符串是"",而NULL不是一个空字符串--它是一个未初始化的字符串,这意味着它根本不是一个字符串,用NULL的StringToCharArray 不工作,导致错误:4009 fxsaber 2021.05.24 18:24 #30188 A100:结果:假而这一说法的矛盾之处在于什么? 该变量已被初始化。当然,你可以把字符串看作是一个指向内部字符串类的指针。 A100 2021.05.24 18:33 #30189 fxsaber:该变量被初始化。当然,你可以把字符串看作是一个指向内部字符串类的指针。 如果它被初始化了,那么为什么会出现 void OnStart() { uchar array[]; const string text = NULL; StringToCharArray( text, array ); Print( GetLastError()); } 错误4009 误导性的字符串 4009 未初始化的字符串 mktr8591 2021.05.24 18:54 #30190 fxsaber:我甚至不打算争论。它工作正常。空字符串(NULL)不包含终端空。在我看来,一切都在逻辑上运作。 这不是问题,问题是这段代码返回4,应该返回0。 Print(StringToCharArray( "ABC", array, 0, 0)); 1...301230133014301530163017301830193020302130223023302430253026...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
看来count=0的工作方式与count=-1相同,在""的情况下,它会复制一个终端空。
这就是错误所在,只是用一个实际的例子来说明,一般来说,空字符串和count = 0本身都可能存在(例如在一个循环中)。
又有多少人
如果count = 0,它应该复制吗?
提示:当count = 3时,将复制3个字符。
我甚至不打算争论。它工作正常。
看起来count=0与count=-1的工作方式相同,在""的情况下,它复制了一个终端空,所以你不能正确地转换一个空字符串而不进行额外的检查。
空字符串(NULL)不包含终端空。那里的一切似乎都是合乎逻辑的。
我甚至不打算争论。它的工作原理是正确的。
如果没有争论,那当然就不用了。
空字符串(NULL)不包含终端空。在我看来,一切都在逻辑上运作。
空字符串是"",而NULL不是一个空字符串--它是一个未初始化的字符串,即它根本不是一个字符串,用NULL的StringToCharArray 不工作,错误结果:4009
如果没有争论,那么你当然不需要
空字符串是"",而NULL不是空字符串--它是一个未初始化的字符串,也就是说,它根本不是一个字符串,用NULL的StringToCharArray 不工作,错误结果:4009
说句不好听的,你搞错了。
说句不好听的,你搞错了。
如果你对案情有什么要说的,请解释。
如果你对案情有什么要说的,请解释。
结果:假
而这一说法的矛盾之处在于什么?
关于交易、自动交易系统和策略测试的论坛
虫子,虫子,问题
A100, 2021.05.24 20:07
空字符串是"",而NULL不是一个空字符串--它是一个未初始化的字符串,这意味着它根本不是一个字符串,用NULL的StringToCharArray 不工作,导致错误:4009
结果:假
而这一说法的矛盾之处在于什么?
该变量已被初始化。当然,你可以把字符串看作是一个指向内部字符串类的指针。
该变量被初始化。当然,你可以把字符串看作是一个指向内部字符串类的指针。
如果它被初始化了,那么为什么会出现
错误4009
误导性的字符串
4009
未初始化的字符串
我甚至不打算争论。它工作正常。
空字符串(NULL)不包含终端空。在我看来,一切都在逻辑上运作。
这不是问题,问题是这段代码返回4,应该返回0。