Fortran使用字符型变量问题

Fortran使用字符型变量问题,第1张

定义语句没有问题,但我建议你把定义语句改为这样:
Character( Len = ) , parameter :: route = "E:\PM25-2013-1-8\44277"
这样的好处是,不必指定长度。后面给出的值多长,就多长。
而且一个语句写完,简单,容易读。
使用时,你犯了错误。route 不应该加引号。而且挂靠字符串得用 // 而不是直接写在后面
cFile = route // '\resulttxt'
Open( 55 , File = cFile )

直接sprintf(str,"%f",f);就把f这个浮点数的值写到了str字符串中。如果只需要打印就直接写printf("%f",f)
可以专门设置一个setf函数,只允许使用这个函数来对f设置值,在函数中写sprintf就实现了每改变一次就打印一次的效果。

定义一个字符串变量,先把i格式化到变量里,在作为参数传给cvSaveImage
printf(szBuf,"f:\\%dpng",
i);
cvSaveImage(szBuf,
);

在Fortran中,要输入变量,可以使用READ命令。READ命令用于从标准输入设备(如键盘)上读取数据,并将读取的数据存储到指定的变量中。
以下是一组使用READ命令来输入整型变量和实型变量的示例代码:
```
program input_var

implicit none

integer :: i
real :: x

write(,) "请输入一个整数:"
read(,) i

write(,) "请输入一个实数:"
read(,) x

write(,) "你输入的整数是:", i
write(,) "你输入的实数是:", x

end program input_var
```
在上述代码中,首先声明了一个整型变量i和一个实型变量x。然后使用WRITE命令向控制台输出提示信息,接着使用READ命令从控制台输入数据,并将其存储到相应的变量中。最后,使用WRITE命令再次向控制台输出结果。
需要注意的是,READ命令的语法格式为:READ(输入格式),变量1,变量2,,其中输入格式是一个由格式控制字符组成的字符串,用于指定输入数据的格式。如果输入数据的格式与指定的输入格式不匹配,则会发生运行时错误。

program xxx
implicit none
real::a,b
character8:: char,char1,c
a=12
b=23
write(char,'(f31)')a
write(char1,'(f31)')b
c=trim(adjustl(char))//trim(adjustl(char1))
write(,)c
end

字符的话很简单
if(ch >= '0' && ch <= '9')
{
n = ch - '0';
}
如果是字符串转整型,可以用函数atoi()
char szNumber[32] = "1234";
int n = atoi(szNumber);

多种方法,比如N是数值型变量,想转为字符型变量S,则:
S = Str(N)
S = CStr(N)
S = N & ""
S = "" & N
S = Trim(N)
如果N和S是显式声明的变量,则不用另加任何转换,VB会自动帮你转换的,比如:
Dim N As Integer, S As String
N = 123
S = N


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10245427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存