string - 比较 Fortran 中的两个字符串

标签 string fortran string-comparison fortran77

什么是比较两个字符串的正确方法说 abcbcd取决于字母顺序?是否有内置命令可以这样做?或者会 >.lt.做工作没有任何问题吗?

最佳答案

内在关系运算符 .lt.< (以及“等于”和“大于” friend )确实可以用来比较字符变量。

我们看到定义(Fortran 2018, 10.1.5.5.1):

the character operand x1 is considered to be less than x2 if the character value of x1 at this position precedes the value of x2 in the collating sequence



其中比较是与相应字符串中不同的第一个字符部分完成的。

例如,整理顺序会告诉您是否 'a'先于 'b' .所以,如果 'abc''bcd' 比较那么比较在'a'之间和 'b' .

如果要比较的两个字符串的长度不同,则进行比较时,就好像较短的字符串在右侧用空格(空格)填充一样,使其长度与较长的字符串相同。这意味着在比较 'ab' 时和 'abc'我们看'ab ''abc' :'ab'<'abc'当且仅当 ' '<'c' .

关于string - 比较 Fortran 中的两个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54396058/

相关文章:

c - FORTRAN 和 C 互操作性 - REAL(4) 会太小吗?

fortran - Fortran OpenMP 代码中的缩放不良和段错误

matlab - 如何判断一个字符串是否代表一个整数?

php - 通过比较 BASE64 检查是否已经上传了相同的图像?

java - 将字符串转换为 Java.sql.Date

java string.split() 正则表达式帮助

c++ - 如何在 C++ 中将 LPBYTE 转换为 char */string?

java - java中如何拆分字符串

c# - 为什么默认的字符串比较器无法保持传递一致性?

performance - 如何在 Fortran 中执行整数 log2() ?