Fortran中使用read函数将字符串中Name: Xiaoming Wang Age: 22 Weight: 67.5进行识别,并将name赋值为Xiaoming Wang,Age赋值为22,Weight赋值为67.5
时间: 2024-10-16 10:22:25 浏览: 23
fortran-使用fortran实现的快速浮点数到字符串转换.zip
在Fortran中,你可以使用`read`函数结合`*`通配符来从字符串中提取变量值。不过,Fortran的标准IO模块(如`stdio`)并不直接支持从字符串解析这种结构。通常,你需要自定义一个过程或者利用第三方库。下面是一个基本的示例,假设你有一个包含变量名和数值的字符串数组,然后手动分割:
```fortran
type MyRecord
character(len=*) name
integer age
real weight
end type MyRecord
character(len=*), dimension(3) :: line = ['Name: Xiaoming Wang', 'Age: 22', 'Weight: 67.5']
type(MyRecord) :: record
call split(line, delimiters=':', result=strlist, kind=int)
record%name = strlist(1)
record%age = int(strlist(2)(/','/)) ! 假设年龄在"Age:"后跟逗号
record%weight = real(strlist(3))
! 现在记录的成员已正确赋值
print *, "Name:", record%name, "Age:", record%age, "Weight:", record%weight
```
注意这只是一个简化的示例,实际应用中你可能需要处理更复杂的输入格式,比如使用正则表达式或者专门的文本解析库。
阅读全文