No.3ベストアンサー
- 回答日時:
#include <stdio.h>
int main(void)
{
FILE* fp;
fp = fopen("jis.txt", "w");
fprintf(fp, "\x1b$B4A;z\x1b(B"); // 4A;zは"漢字"のJISコード
fclose(fp);
return 0;
}
これで問題なく書き込めました。
この回答への補足
moji[i]・・・・・・・・・4A
moji[i+1]・・・・・・・・;z
↑まちがいでした
moji[i]・・・・・・・・・4
moji[i+1]・・・・・・・・A
です。
確かにできますね・・・・
私は今こんな感じです。
moji[i]・・・・・・・・・4A
moji[i+1]・・・・・・・・;z
@@コード@@
fprintf(fp, "\x1b$B");
fprintf(fp,"%c%c",moji[i],moji[i+1]);
fprintf(fp, "\x1b(B");
@@表記@@秀丸エディタでopen
[esc]$B4A;z[esc](B
No.5
- 回答日時:
>秀丸エディタで見る、ということです。
秀丸エディタのVer.2.17以降では、標準では「EUCコードとJISコードの自動認識をする」はオフになっています。
なので「正しいJISコードで書かれたファイル」も、秀丸エディタで開くと
[esc]$B4A;z[esc](B
に見えます。
もし「その他→動作環境→編集」の「EUCコードとJISコードの自動認識をする」がオフになっているならオンにしましょう。
また、これがオンになっているにも関わらず秀丸エディタで
[esc]$B4A;z[esc](B
のように見えるとしたら「どこかに、JISコードと判定することが出来ない、コードが間違っている文字」が含まれている可能性があります。
この回答への補足
後者です。
コードが間違っている文字、というのもありえないと思います。
それは、以下の例では
漢 と、出るはずが、[esc]$B4A[esc](B
と表示されるからです。
No.4
- 回答日時:
>書き込み後にファイルをwindows上などで普通に開いた時に、
「普通に開く」とはどういうことですか?
エディタで見るということは違うでしょうか。
(いわゆる)JIS形式のエンコーディングに対応しているものであれば
制御コードが見えるとか言うことはないと思いますが、どういった状況を言われているのでしょうか。
>教えていただいた内容ですと、制御コマンドも表示されてしまいます。
どこに対してどのようにして「表示」しているのですか?
この回答への補足
秀丸エディタで見る、ということです。
#3さんのコードでは確かに正確に書き込みされており、
制御コマンドも表示されていませんでした。
しかし、その補足に書かせていただいた内容コードですと
制御コマンドも表示されてしまいました。
No.2
- 回答日時:
fprintf(fp, "\x1b$B");
で出来ますが、わざわざfpritnfとか使わなくても、
fputs("\x1b$B", fp);
とか
fputs("\x1b(B", fp);
で十分でしょう。
この回答への補足
説明不十分でしたようで、
書き込み後にファイルをwindows上などで普通に開いた時に、
<ESC>$B「漢字」<ESC>(B ではなく、
「漢字」だけを表示させるようにしたいのです。
教えていただいた内容ですと、制御コマンドも表示されてしまいます。
実際にJISコードのファイルを見てみますと制御コマンド無しの
漢字が見えておりますが、fgets等で読みだしてみると、
漢字の前後に制御コマンドが埋め込まれていることがわかります。
この状態を作りたいと思っていますが、ただfprintfなどで書き込む
だけでは駄目なようで・・
この辺りおわかりでしょうか?
No.1
- 回答日時:
★アドバイス
単純にfputc関数を使うなど。
fputc( 0x1B, fp );
fputc( 0x24, fp );
fputc( 0x42, fp );
・バイナリ出力でオープンしていれば
fprintf( fp, "%c%c%c", 0x1b, 0x24, 0x42 );
でも出来ると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# S-JIS → JIS コード変換するには 3 2023/02/09 23:55
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- マウス・キーボード 教えて! AppleのMagic Keyboard(JIS)をWindows 10で使用次第のですが 2 2022/06/01 18:07
- UNIX・Linux JSLinuxのコマンドについて。 abの小文字aを大文字Aに置換して標準出力するコマンドを1行で示 1 2022/07/25 18:34
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- その他(パソコン・スマホ・電化製品) JIS規格の変更履歴 2 2023/04/03 10:38
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- その他(Microsoft Office) Microsoft IME 一発で変換できない言葉がある 3 2022/07/19 19:29
- Windows 10 renameコマンドでファイル名からアンダースコアを消す方法 5 2023/04/24 13:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語でファイル読み書きを早く...
-
c言語でのfscanfについて
-
構造体のメンバにファイルポイ...
-
fscanfでループしてしまう。
-
テキストファイル内に対して, ...
-
エラーがわかりません、、
-
ファイルからCR/LFを除去したい
-
C言語を用いて、csvファイル内...
-
辞書順にソートしたいのですが...
-
C言語の課題です
-
C言語
-
_popen() のエラー取得
-
[C言語]2つのファイルを用いた...
-
ファイルが読み込めない・・・
-
ファイルに行番号を追加
-
main関数の中をスッキリさせたくて
-
ファイルへの書込み処理が異常...
-
fopenでファイル名に、変数を使...
-
乱数とファイルの入出力の質問...
-
test.csvの内容
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数ファイルの同時読み込みの...
-
ファイルへの書込み処理が異常...
-
C言語でファイル読み書きを早く...
-
c言語でのfscanfについて
-
fopenでファイル名に、変数を使...
-
ファイル出力で改行を入れたい!
-
C言語にてXMLファイルから任意...
-
CRC32の計算方法
-
fgets( ) の返り値は何?
-
InternetReadFileを使ったファ...
-
【C言語】ファイルを読み込んで...
-
VisualStudioでのファイルの入...
-
commons-netでのFTP送信について
-
日本語ファイル名のFTPについて
-
fgets関数の利用 c言語
-
C言語でコマンドmvを実行
-
「コマンドライン引数チェック...
-
C言語でセグメンテーションエ...
-
構造体のメンバにファイルポイ...
-
エラー C2664
おすすめ情報