HOME»基本情報技術者試験掲示板»平成26年秋期午後問9
投稿する
平成26年秋期午後問9 [3690]
rさん(No.1)
https://www.fe-siken.com/kakomon/26_aki/pm09.html
プログラム中のReadnewRecord関数・ReadoldRecord関数にそれぞれあるstrcpy(NewID,"\xFF"),strcpy(OldID."\xFF")という処理は何を意味していますか?コメントで\xFF:8bit符号の最大値とヒントがありますが、この処理で何を行っているのかどなたか教えてください。
プログラム中のReadnewRecord関数・ReadoldRecord関数にそれぞれあるstrcpy(NewID,"\xFF"),strcpy(OldID."\xFF")という処理は何を意味していますか?コメントで\xFF:8bit符号の最大値とヒントがありますが、この処理で何を行っているのかどなたか教えてください。
2021.10.20 22:44
関数従属さん(No.2)
★FE ゴールドマイスター
ファイルの最後まで読み込んだ事を示す為に、
通常の利用者ID(英数字)より文字コード的に絶対に大きくなる値を入れております。
これはαの先頭にあるstrcmp(NewID,OldID) == 0や空欄dのstrcmp(NewID,OldID) < 0 で使用されます。
例えばOldFileの方のみ全レコードをReadしてしまった場合
空欄dのif文の中に入り、残りのNewFileを読み込んでいかなければなりません。
この時、OldIDに文字コード的に絶対に大きくなる値を入れておくことで、
必ず空欄dのstrcmp(NewID,OldID) < 0が成立するようにして、
残りのNewFileを読み込んでいくようにしております。
通常の利用者ID(英数字)より文字コード的に絶対に大きくなる値を入れております。
これはαの先頭にあるstrcmp(NewID,OldID) == 0や空欄dのstrcmp(NewID,OldID) < 0 で使用されます。
例えばOldFileの方のみ全レコードをReadしてしまった場合
空欄dのif文の中に入り、残りのNewFileを読み込んでいかなければなりません。
この時、OldIDに文字コード的に絶対に大きくなる値を入れておくことで、
必ず空欄dのstrcmp(NewID,OldID) < 0が成立するようにして、
残りのNewFileを読み込んでいくようにしております。
2021.10.20 23:32
rさん(No.3)
ご丁寧にありがとうございます。理解できました。
2021.10.20 23:47