デフォルトでカンマ区切りにならない
数値を出力する記述をしたCファイルをコンパイルしたexeファイルをwindows11からデフォルトとなったターミナル(PowerShell)で実行し,手頃なCSVファイルにリダイレクトし,このCSVファイルをexcelで開くと次のような形式で出てくる.
少しでもエンジニアに足を突っ込んでいる人ならカンマ区切りにすればいいんじゃないの?と言うと思うが,コマンドプロンプト(ターミナルでない)で同じ処理をすると次のようになる.
そう,デフォルト区切り文字にカンマが指定された状態で出てくるのである.
つまりファイルの状態ではこのカンマ少しおかしいのである.
他にもC言語のstrtok関数においてカンマを区切り文字として指定した場合にもカンマとして見てくれないのである.
原因
こうなる原因はおそらく出力先のフォント形式によるものだと思われる.
CUI | フォント形式 | カンマ |
---|---|---|
コマンドプロンプト | 等幅フォント | 無事 |
ターミナル(win11) | プロポーショナルフォント | だめ |
ターミナル(VScode) | プロポーショナルフォント | だめ |
このようにフォント形式とカンマの状態が連動している.そもそもターミナルがだめなのかもしれないけどね.
解決策
フォント等の変更を試みたりもしてみたが,コマンドプロンプトを使う他ない.終わりです.
技術力が上がって根本的な解決ができるようになったら解決します.