
こんにちは。
gccコマンドは、cygwinに付属していたものを使っています。
fopen関数でファイルを出力用にオープンし、fputs関数などで、何かしらの文字を書き込むCソースファイルを作成したとします。
このCソースファイルから、実行ファイルをビルドする際、
gccコマンドをオプション無しで使って実行ファイルをビルドし、その実行ファイルを実行すると、エンコーディングが"BOM無し"のUTF-8である出力ファイルが作成されます。
ですがこれだと、Emacsなどで開いた時に、バッファのコーディングシステムがraw-textになって、文字がきちんと表示されません。
gccコマンドには、ビルドされた実行ファイルが、エンコーディングが"BOM付き"のUTF-8であるファイルを出力するように指定する、オプションはありますでしょうか?
今回、ググっても1つも手掛かりが見つからなかったので、質問させて頂きましたので、
gccに詳しい方、是非よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
この場合ファイルの入出力はcygwinのライブラリがやってるのでgcc関係ありませんが。
それにBOM付きにするとgccを含めたcygwinが提供するコマンドが対応してなさそうな気がしますけど。
emacsに関しては設定次第でBOMなしでもutf-8として認識させられるはず。
御回答ありがとうございます。
>それにBOM付きにするとgccを含めたcygwinが提供するコマンドが対応してなさそうな気がしますけど。
BOMは邪魔になるケースが多いんですね。
知りませんでした。
>emacsに関しては設定次第でBOMなしでもutf-8として認識させられるはず。
確かに、emacsの設定を変える方がよさそうですね。
そちらの路線で考えてみます。
No.3
- 回答日時:
gcc自体にはコード変換機能はありませんので、fputsの際の元データがUTF-8だっただけだと思われます。
ちなみに、LANG環境変数は設定されていますでしょうか。
Emacs使いではないので正確な回答は出来ませんが、LANGが正確に設定されていないとvim等も正確に表示出来ないですので・・・。
No.2
- 回答日時:
fputs 自体にコード変換機能はありません。
UTF-8で書かれたものを出力したからUTF-8になっただけです。
BOMを出力したれば、明示的にBOMを出力してください。
文字コードは
default-buffer-file-coding-system
とか
file-coding-system-alist
とかでデフォルトの値を決めることもできます。
BOMを必要とするアプリの方が少なく、むしろ邪魔になるアプリも多いので、無理に付ける必要は無いと思います。
御回答ありがとうございます。
>文字コードは
>default-buffer-file-coding-system
>とか
>file-coding-system-alist
>とかでデフォルトの値を決めることもできます。
>
これらについて調べてみて、試してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- その他(プログラミング・Web制作) Linuxについて質問です。 引数に指定されたアクセスログのファイルからアクセス数が多い順に上位3つ 1 2023/02/03 03:46
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 入力待ちをして、受け取った正の整数が表す行数だけ既存 4 2022/07/05 10:12
- その他(OS) DOSコマンド『dir』の『/o』オプション 3 2023/03/10 09:29
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンド(例えばls)の出力結果...
-
Accessクエリをcsvでエクスポー...
-
Windowsプログラミングでfstrea...
-
pLaTeX の EPSファイル読み込み...
-
C++/CLIにて、System.String^型...
-
C言語でファイルを出力し(ここ...
-
setvbufってどう使うの?
-
pcap形式データをテキストへ抽出
-
ファイル形式またはファイル拡...
-
UNIX & Linux の標準出力で得た...
-
BitBltについて。
-
Wordマクロで指定したフォルダ...
-
標準出力とファイルに効率的に...
-
「ファイルへ出力」とは?
-
CSV形式に変換
-
ADボードのプログラムでの無限...
-
pgm画像入出力(C言語)
-
Excel2007でのエクスポート
-
シェルコマンドの 2>&1 とはど...
-
現状USB3.0が有用に使えるパー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【ExcelVBA】UTF-8(BOM無)でC...
-
テキストファイルに改行コード...
-
コマンド(例えばls)の出力結果...
-
VC++でUTF-8のファイルを出力し...
-
シェルコマンドの 2>&1 とはど...
-
Acccess レポートをグループ別...
-
ファイル形式またはファイル拡...
-
pcap形式データをテキストへ抽出
-
ファイル出力の場所を指定
-
AccessVBA複数レポート条件毎に...
-
外国語とCSVについて
-
VBA でメモ帳へ保存する際の保...
-
サウンド出力のデバイスを選択...
-
C++ fprintf_sの使い方がわからん
-
アプリを実行すると、作成者を...
-
ファイルの文字コードをUTF-8に...
-
1行ずつではなくまとめてファイ...
-
Wordマクロで指定したフォルダ...
-
SendKeys "^V", True(貼り付け...
-
CSVファイルを任意の場所に出力...
おすすめ情報