レコード単位での更新は _Ropen のときに rr+ blkrcd=Y でオープンしておき、
_Rupdate(fp, record, 21); によってレコード単位で更新できる。( 21=レコード長)
下記に例を示す。
0001.00 #include <stdio.h> 0002.00 #include <stdlib.h> 0003.00 #include <string.h> 0004.00 #include <recio.h> 0005.00 0006.00 #define TRUE 0 0007.00 #define FALSE -1 0008.00 #define MAX_LEN 3000 0009.00 0010.00 void main(void){ 0011.00 _RFILE *fp; 0012.00 _RIOFB_T *iofb; 0013.00 char record[256]; 0014.00 0015.00 fp = _Ropen("QTRFIL/SHOHIN", "rr+ blkrcd=Y"); 0016.00 if(fp == NULL){ 0017.00 printf("Open failed for open file\n");getchar(); 0018.00 } 0019.00 while(1){ 0020.00 iofb = _Rreadn(fp, record, MAX_LEN, __DFT); 0021.00 if(iofb->num_bytes == EOF) break; 0022.00 _Rupdate(fp, record, 21); 0023.00 printf("Update record = %s\n", record); 0024.00 } 0025.00 _Rclose(fp); 0026.00 getchar(); 0027.00 }