12. °£´ÜÇÑ ÀÔÃâ·Â (Simple I/O)

ÄÄÇ»ÅÍ ÇÁ·Î±×·¥¿¡¼Ò Áß¿äÇÑ ºÎºÐÀÇ Çϳª°¡ ÀԷ°ú Ãâ·ÂÀ» ´Ù·ç´Â °ÍÀÌ´Ù. ÀÌÁ¦±îÁöÀÇ ¿¹Á¦¿¡¼­ ÀÌ¹Ì µÎ °¡ÁöÀÇ °¡Àå ¸¹ÀÌ »ç¿ëÇÏ´Â Fortran ±¸¼º¾î¸¦ »ç¿ëÇÏ¿´´Ù : read¿Í write. Fortran ÀÔÃâ·ÂÀº »ó´çÈ÷ º¹ÀâÇÏ°Ô ÇÒ ¼ö ÀÖÁö¸¸ ¿©±â¼­´Â °£´ÜÇÑ °æ¿ì ¸î °¡Áö¸¸ »ìÆ캸°íÀÚ ÇÑ´Ù.

Read and write

Read´Â ÀÔ·Â, write´Â Ãâ·Â¿¡ »ç¿ëÇÑ´Ù. °£´ÜÇÑ ÇüÅ´Â
      read (unit no, format no) list-of-variables
      write(unit no, format no) list-of-variables
ÀÌ´Ù. Àåºñ ¹øÈ£ (unit number)´Â Ç¥ÁØ ÀÔ·Â(standard input), Ç¥ÁØ Ãâ·Â(standard output) ¶Ç´Â fileÀ» °¡¸®Å²´Ù. ÀÌ´Â ³ªÁß¿¡ ¼³¸íÇÒ °ÍÀÌ´Ù. ÀÔÃâ·ÂÇü½Ä(format) ¹øÈ£´Â format ¹®ÀÇ ¹øÈ£(label)À» °¡¸®Å°´Â °ÍÀ¸·Î µÚ¿¡¼­ ª°Ô ¼³¸íÇÒ °ÍÀÌ´Ù.

¿¹Á¦¿¡¼­¿Í °°ÀÌ ¾î¶² º¯¼ö·Î´Â asterisks (*)¸¦ »ç¿ëÇÏ¿© ´õ °£´ÜÇÏ°ÔÇÒ ¼öµµ ÀÖ´Ù. ÀÌ´Â list directed read/write¶ó°í ÇÑ´Ù.

      read (*,*) list-of-variables
      write(*,*) list-of-variables
ù¹ø° ¹®¿¡ ÀÇÇÏ¿© Ç¥ÁØ ÀԷ¿¡¼­ º¯¼ö°ªÀ» ÀÐ¾î µé¿© º¯¼ö ¸ñ·Ï(variable list)¿¡ ÀÖ´Â º¯¼ö¿¡ ±× °ªÀ» ÁöÁ¤ÇÑ´Ù. µÑ° ¹®Àº Ç¥ÁØ Ãâ·Â¿¡ ±× °ªÀ» ¾´´Ù.

Examples

´ÙÀ½Àº Fortran programÀÇ ÀϺÎÀÌ´Ù.
      integer m, n
      real x, y

      read(*,*) m, n 
      read(*,*) x, y 
Ç¥ÁØ ÀÔ·Â (¶Ç´Â Ç¥ÁØ ÀÔ·ÂÀ¸·Î ÇâÇϵµ·ÏÇÑ data file)À» ÅëÇÏ¿© ÀÔ·ÂÀ» ÁØ´Ù. data fileÀº ÀüÅëÀûÀÎ Fortran ¿ë¾î¿¡ µû¸£¸é records·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. ÀÌ ¿¹Á¦¿¡¼­´Â °¢°¢ÀÇ record¿¡´Â (Á¤¼ö³ª ½Ç¼öÀÎ) ¼ýÀÚ Çϳª°¡ ÀÖ´Ù. record´Â ºó Ä­(blanks)À̳ª ¹ÝÁ¡(commas)À¸·Î ºÐ¸®µÈ´Ù. µû¶ó¼­ ÇÁ·Î±×·¥¿¡ ¾Ë¸Â´Â ÀÔ·ÂÀº ´ÙÀ½°ú °°´Ù.
   -1  100
  -1.0 1e+2
¶Ç´Â ºÐ¸®¸¦ ³ªÅ¸³»±â À§ÇÏ¿© commas¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
   -1, 100
 -1.0, 1e+2
Fortran 77 ÀÔ·ÂÀº ÁÙ ´ÜÀ§À̹ǷΠ°¢ ÁÙ¿¡ ¾Ë¸ÂÀº ¼ýÀÚÀÇ ÀÔ·Â ¿ø¼Ò (record)°¡ ÀÖ¾î¾ß ÇÑ´Ù´Â Á¡¿¡ ÁÖÀÇÇÑ´Ù. ¿¹¸¦ µé¸é ´ÙÀ½°ú °°ÀÌ ÇÑ ÁÙ¿¡ ¸ðµç ÀÔ·ÂÀ» ÁÖ¸é
   -1, 100, -1.0, 1e+2
m°ú nÀº °¢°¢ -1°ú 100ÀÇ °ªÀ» °®°í ³ª¸ÓÁö µÎ °ªÀº ¹ö·Á¼­ x¿Í y°ªÀº °áÁ¤ÇÒ ¼ö ¾ø°Ô µÈ´Ù.

´Ù¸¥ À¯Çü(Other versions)

°£´ÜÇÑ list-directed I/O·Î´Â ´ÙÀ½ syntax¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
      read  *, list-of-variables
      print *, list-of-variables
ÀÌ´Â ¾Õ¿¡¼­ ¼³¸íÇÑ list-directed read ¹× write ¹®°ú °°Àº ÀǹÌÀÌ´Ù. ÀÌ ±¸Á¶´Â Ç×»ó ÀÔÃâ·Â¿¡¼­ Àаųª ¾²¸ç *´Â ÀÔÃâ·Â Çü½Ä(format)ÀÌ´Ù.


[Fortran Tutorial]
Ãæ³²´ëÇб³ ¹°¸®Çаú ¿À º´¼º