dram.me

在Fortran中表示C字符串

补遗

  1. 还可以通过ACHAR(0)CHAR(0)表示NUL字符,两者的区别是ACHAR基于ASCII码序列转化字符,CHAR基于当前编码。但对于NUL字符来说,一般应该是等同的。—— 2018-04-14

Fortran中的字符串和C不同,不以NUL字符结束,所以在调用C函数时,需要显式追加NUL,有以下两种方式:

  1. 利用字符串拼接,如:foo // c_null_char

  2. 如果在GNU Fortran中,可以使用-fbackslash参数,之后在字符串中以\0表示,例如:"foo\0"