読者です 読者をやめる 読者になる 読者になる

fscanf(...)は安全じゃないのでfscanf_s(...)を使って下さい

fscanf_s(...)を使えとコンパイラから言われたけど、使い方がよく分からないので調べてみた。

整数を読み込むにはfscanf(...)のように書けばよい。

int i;
fscanf_s(fp, "%d", &i);

問題は文字列の場合。どうやら文字列バッファのバッファ長を可変引数のところで指定する必要があるっぽい。

char szMsg[255];
fscanf_s(fp, "%s", szMsg);
fscanf_s(fp, "%s", szMsg, sizeof(szMsg));