Fortran Coder

查看: 490|回复: 3
打印 上一主题 下一主题

[混编] C混合编程时char *str []对应的Fortran形参是什么

[复制链接]

147

帖子

42

主题

1

精华

宗师

F 币
1282 元
贡献
630 点
跳转到指定楼层
楼主
发表于 2024-6-13 21:34:26 来自移动端 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
标准没有规定,有什么技巧么?
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

2031

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1631 元
贡献
705 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2024-6-14 09:10:28 | 只看该作者
我一般都是用
[Fortran] 纯文本查看 复制代码
type(c_ptr) , value :: cstr
character(len=n) , pointer :: fstr
call c_f_pointer( cstr , fstr )

147

帖子

42

主题

1

精华

宗师

F 币
1282 元
贡献
630 点
板凳
 楼主| 发表于 2024-6-14 12:53:05 | 只看该作者
fcode 发表于 2024-6-14 09:10
我一般都是用
[mw_shl_code=fortran,true]type(c_ptr) , value :: cstr
character(len=n) , pointer :: fs ...

你这个是对应char str []吧?
character(c_char) :: str(*)
这个我会

2031

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1631 元
贡献
705 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

地板
发表于 2024-6-17 16:19:04 | 只看该作者
character(c_char) :: str(*) 不好,会被当成字符数组,而不是字符串。
连 Open( 12 , File = str ) 都不行。

char *str [] 这种是指向 char * 的数组吗?那只能定义一个结构体了,用结构体数组。结构体成员又是 type(c_ptr)
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-12-4 16:55

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表