Some Memorandum

DirectX11に挑む素人の備忘録。

fputcの仕様

  1. CSVファイルを読み込んで(char)
  2. 計算して(int)
  3. 別のCSVファイルとして出力(char)

というのをやりたかったので、char⇔int変換をやってくれる関数を探してました。

で、検索してたらfputcにたどり着きました。

    int fputc(出力したいもの(int型),出力先ファイルポインタ);

こんな感じの説明をちらほらみかけたので、int型をchar型で出力してくれるんですかやったーって思ってました。

でも使ってみるとint型の70を渡したのに3730って出力されたりしてパニックに。

 

よく考えてよく調べてみると、fputcの第一引数はint型の文字コードだと気付きました。

コンピュータ内部では

’a’ ’b’ ’c’ はそれぞれ

61 62 63 のような数値で扱われています。

'70' という文字の文字コードは70では無いということを失念していました。

fputcにそこまで考慮して変換するような機能は無いということです。

気をつけよう。

 

結局fprintfなら変換仕様を指定できることを思い出してなんとかなりました。