求fortran中如何把小写字母转换为大写字母的编程?

2024-12-25 13:25:16
推荐回答(1个)
回答1:

此子程序是一 .f 文件,可以将一个字符串中的小写字母转换为大写字母。FORTRAN中并没有直接转换字母大小写的内部函数,必须使用内码转换,即先把字母的ACSII码读出,然后减去32,再转换为字母,就达到目的了
c
c
c ###############################################################
c ## ##
c ## subroutine upcase -- convert string to all upper case ##
c ## ##
c ###############################################################
c
c
c "upcase" converts a text string to all upper case letters
c
c
subroutine upcase (string)
implicit none
integer i,size,len
integer code,ichar
character*1 char
character*1 letter
character*(*) string
c
c
c convert lower case to upper case one letter at a time
c
size = len(string)
do i = 1, size
letter = string(i:i)
code = ichar(letter)
if (letter.ge.'a' .and. letter.le.'z')
& string(i:i) = char(code-32)
end do
return
end