向高手请教fortran 调用C 的问题
我现在要些一个fortran调用C接口的问题,但是不知道 C语言里面分配的指针怎么付给fortran,又不能在fortran立马先分配好,业务上不允许。
我写了个测试的例子。但是不行。
test.c
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <stdlib.h>
int itest_(char **p)
{
*p = (char*) malloc(sizeof(char) * 18);
sprintf(*p,"%s","gbcd");
return 1;
}
test.F90
program main
interface
integer function itest(pchar)
CHARACTER,pointer::pchar(:)
end function
end interface
CHARACTER ,pointer:: pchar(:)
integer iout
CHARACTER ac
CHARACTER ab,ad
iout = itest(pchar)
ac=pchar(1)
ab=pchar(2)
ad=pchar(3)
write(*,*)ac
write(*,*)ab
write(*,*)ad
end program
但是运行结果是
g
g
g
请高手帮忙。
帮顶~~
顶
相关问答:
以前在VC里面建一个工程,都只用一个 .c 文件,昨天在一个工程里用了两个 .c文件了,遇到问题了,请大家指点。比如:
File1.c Fil ......
#include <stdio.h>
#include <graphics.h>
void main()
{
int x0,y0,x1,y1,driver,mode,i;
driver=VGA;
mode=VGAHI;
initgraph(&driver,&mode,&qu ......
请问各位高手如何用C/C++获得系统未安装补丁
好像很专业的东西。。。
查注册表
每个补丁如果安装了都会在注册表里面登记
请问能不能更清晰些,我想用c\c++查出来,不好意思,我是新手。还望指教。谢
分值 ......
问题一:
在对齐为4的情况下
struct BBB
{
long num;
char *name;
short int data;
char ha;
short ba[5];
}*p;
p=0x1000000;
p+0x200=____;
(Ulong)p+0x200=____;
(char*)p+0x200=____;
假设在32位C ......