#3
by みけCAT » 3年前
「文字に関する関数」を使ってはいけないというのに注意したいですね。
例えば、
・書式指定文字列を扱うprintf系やscanf系の関数
・文字の入出力を行うgetchar関数、putchar関数、getc関数、fgetc関数、putc関数、fputc関数
・文字列の入出力を行うgets関数、puts関数、fgets関数、fputs関数
などは使えなそうですね。
となると、通常のパソコン環境であれば、入出力はfread関数やfwrite関数を使用するのがいいでしょう。
システムコールや、マイコン環境におけるメモリマップドI/Oを使うという選択肢もあるでしょう。
さらに、「数学関数や文字に関する関数」は標準関数に限られなそうであることにも注意したいです。
例えば、fread関数で1行読み込み、文字列として返す、
のような自作関数も「文字に関する関数」となり、使ってはいけないと考えられます。
あくまで文字として扱わず、この例なら「値0x0Aのバイトで区切られたバイト列を読み込んで返す」
という仕様にすることで回避できるかもしれません。
「文字に関する関数」を使ってはいけないというのに注意したいですね。
例えば、
・書式指定[b]文字[/b]列を扱うprintf系やscanf系の関数
・[b]文字[/b]の入出力を行うgetchar関数、putchar関数、getc関数、fgetc関数、putc関数、fputc関数
・[b]文字[/b]列の入出力を行うgets関数、puts関数、fgets関数、fputs関数
などは使えなそうですね。
となると、通常のパソコン環境であれば、入出力はfread関数やfwrite関数を使用するのがいいでしょう。
システムコールや、マイコン環境におけるメモリマップドI/Oを使うという選択肢もあるでしょう。
さらに、「数学関数や文字に関する関数」は標準関数に限られなそうであることにも注意したいです。
例えば、fread関数で1行読み込み、[b]文字[/b]列として返す、
のような自作関数も「文字に関する関数」となり、使ってはいけないと考えられます。
あくまで文字として扱わず、この例なら「値0x0Aのバイトで区切られたバイト列を読み込んで返す」
という仕様にすることで回避できるかもしれません。