0
0
はじめての記事投稿
Qiita Engineer Festa20242024年7月17日まで開催中!

windowsのターミナルでリダイレクト処理をするとカンマがおかしくなる

Posted at

デフォルトでカンマ区切りにならない

数値を出力する記述をしたCファイルをコンパイルしたexeファイルをwindows11からデフォルトとなったターミナル(PowerShell)で実行し,手頃なCSVファイルにリダイレクトし,このCSVファイルをexcelで開くと次のような形式で出てくる.
image.png

少しでもエンジニアに足を突っ込んでいる人ならカンマ区切りにすればいいんじゃないの?と言うと思うが,コマンドプロンプト(ターミナルでない)で同じ処理をすると次のようになる.
image.png

そう,デフォルト区切り文字にカンマが指定された状態で出てくるのである.

つまりファイルの状態ではこのカンマ少しおかしいのである.
他にもC言語のstrtok関数においてカンマを区切り文字として指定した場合にもカンマとして見てくれないのである.

原因

こうなる原因はおそらく出力先のフォント形式によるものだと思われる.

CUI フォント形式 カンマ
コマンドプロンプト 等幅フォント 無事
ターミナル(win11) プロポーショナルフォント だめ
ターミナル(VScode) プロポーショナルフォント だめ

このようにフォント形式とカンマの状態が連動している.そもそもターミナルがだめなのかもしれないけどね.

解決策

フォント等の変更を試みたりもしてみたが,コマンドプロンプトを使う他ない.終わりです.

技術力が上がって根本的な解決ができるようになったら解決します.

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0