Input と Output の違いは OP で明らかなので、他のものに注目しましょう。
違い 1 : 一部の関数は を使用しFILE*
、一部の関数は を想定します:stdint
入力stdout
用、出力用)。ファイルを使用する場合はstdin/stdout
、単純なものを使用してください。
- テイク
FILE*
: fprintf
, fscanf
, fgetc
, fgets
, . fputc
_fputs
- 服用しないでください
FILE*
: printf
, scanf
, getchar
, gets
, .putchar
puts
パターンに注意してください。で始まる関数にf
はFILE*
... 例外がputc
ありgetc
、f*
対応するものと同等です。それらを使用しないでください...それらは奇妙です。
相違点 2 : 一部の関数は引数をフォーマットし、一部は単一の文字を受け取り、一部は文字列を受け取ります。それは簡単にわかります。私はそれらをもう一度列挙するのが面倒です。あなたに最も適したものを使用してください。
相違点 3 : 一部の機能はまったく使用しないでください。IMOはgetc
、、、putc
です。それらはそれぞれ、奇妙、奇妙、正しく使用できない、奇妙です。gets
puts
違い 4 : 戻り値。以下を除いて、すべての関数int
は読み取り/書き込み文字を返します (またはEOF
エラーの場合)。
fgets
そしてgets
、引数として取るのと同じポインターを返します(またはNULL
エラーの場合)。これは、コード行を節約するのに便利だと考えられていました: memcpy(buffer, fgets(buffer2, 100, file));
. ただし、ポインターを使用する前にエラーをチェックする必要があるため、実際の戻り値は、それを比較する以外はほとんど役に立ちません。NULL.
*printf
書き込まれたバイト数を返します。
*scanf
読み込まれた入力項目の数を返します。
さて、テーブルではなくIHTHです。