C++BuilderのRichEditを使ってその内容をテキスト形式で保存したいのですが、
実際に保存されたファイルをメモ帳で見ると改行が■になって表示されてしまいます。
そのデータの内容はプログラムで
RichEdit1->Text = "ほにゃらか\n";
と書くと'\n'のところがだめです。

A 回答 (1件)

単なる"\n"はUNIX形式の改行です。


パソコン向けの教科書でもこのように書かれているものが多いので
紛らわしいのですが、
RichEdit1->Text = "ほにゃらか\r\n";
と書きましょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速やってみたらできました。

お礼日時:2001/10/05 13:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q改行の書き方('\n' "\n")はどっちの書き方でもいいのでしょうか?

タイトルの通りです。
↑の方法ではどっちもコンパイルできる事が分かったのですが、どっちも正しいですよね?
よろしくお願いします。

Aベストアンサー

受けて側にあわせてやる必要があります

'\n'は文字として相手が受け取る場合です
"\n"は文字列として相手が受け取る場合です

void func1( char ch );
void func2( char* str );
とあった場合 func1には '\n'で渡し fucn2は "\n"で渡します

Q'\"'はなの意味ですか

Cの初心者です。標記の¥”意味は判りません、何方か教えていただきませんか

Aベストアンサー

文字列のエスケープで使用します。

文字列変数などに'を代入したい場合、'''だとエラーとなってしまいます。
''で一区切りになり最後の'がコンパイルエラーとなるためです。
これを回避するために'\''といれます、するコンパイラが¥の次の文字はプログラムとしての記号ではなく文字としての記号だと認識して文字列内に’を代入してくれるようになります。
SQLやURLなどを使用する際に結構でてくると思いますよ。

Q'\0'とはなんですか?

これはあるサンプルプログラムで見ました。

char *p;

p='\0';

なんですが、'\0'は文字なのに何故ポインタに代入できるのかがわかりません。'\0'は文字ではなくてNULLなのですか?よろしくお願いします。

Aベストアンサー

これはコンパイラがどう解釈するかをじ~っと追っていかないとわからないよな, 普通.
'\0' は「文字コード 0 の文字」を表すわけですが, 「文字」は整数なので実際には「0」という値になります. そして, 「ポインタが必要なところで整定数 0 が現れたときにはヌルポインタとして扱う」という規則があるので, 今の場合には (ポインタ変数に代入するためにはポインタでなければならないので) 「ヌルポインタである」ということになります.
結果的に
p = '\0';

p = 0;
はどちらも
p = NULL;
と書いたのと同じ意味になります.
まあプログラム上は間違いではないけどほぼ間違いだと思っていいです.

QC++の’ \n’と ’endl’ の違いについて

C++の独習を始めたばかりの者です。
’cout’のあとにつく'\n'と'endl'の違いがよくわかりません。構文が本によって少しづつ違いがあるので、戸惑っています。「どちらでもいい」の感じで片付けたほうが良いのでしょうか?よろしくお願いいたします。

Aベストアンサー

> 「フラッシュ」の意味がわからないのですが、

ストリームバッファに溜まった未出力のデータをすべて吐き出します。

Qダメだ・・・分からない。while文 無限ループ&’\n’エンター後無限ループ脱出

忙しい中失礼します。
C言語超初心者のものです。while文での表示について質問があります。
下記の’プログラム内容’はEnterキーが押されるまで、
’k’入力後 → Enterキー → ASCII value of k is 107. 
’t’入力後 → Enterキー → ASCII value of t is 116.
・・・
のように継続させ、
何もアルファベットを記入せず、’Enterキー’のみを押した場合はループから抜け、DOS画面を終了するようにしたいのですが、それが出来ません・・・。

’k’入力後Enterキーを押すと、’Enter a character:’の表示がなされた後、’Press any key to continue・・・’となり画面を閉じなければいけなくなります。
while文の中の()内を何とかすれば、思い通りのプログラムになる、とは思うのですが、それが考え付きません。
申し訳ありませんが、よろしければそのヒントを下さい。多分すごく簡単なことだとは思うのですが、それが出来ません。

※私個人の考えとしては、while文の中の(scanf("%c", &ch)&&(ch!='\n'))において、’&&(ch!='\n')’をプログラム文からなくせば、Enterキーを押さない限り(’k’入力後のEnterキー除く)、何度もパソコン側から尋ねられると思ったのですが・・・。・・・うまくいかず。

プログラミング内容:
#include <stdio.h>
#include <stdlib.h>

int main()
{
char ch;
printf("Enter a character:\n");

while(scanf("%c", &ch)&&(ch!='\n'))
{
printf("ASCII value of %c is %d.\n\n", ch, ch);

printf("Enter a character:\n");
}

system("PAUSE");
return 0;
}

忙しい中失礼します。
C言語超初心者のものです。while文での表示について質問があります。
下記の’プログラム内容’はEnterキーが押されるまで、
’k’入力後 → Enterキー → ASCII value of k is 107. 
’t’入力後 → Enterキー → ASCII value of t is 116.
・・・
のように継続させ、
何もアルファベットを記入せず、’Enterキー’のみを押した場合はループから抜け、DOS画面を終了するようにしたいのですが、それが出来ません・・・。

’k’入力後Enterキーを押すと、’Enter a character:’の表示が...続きを読む

Aベストアンサー

aaaa入力後→Enterキー
というのを実施すると、
下記のような実施結果になると思っていませんか?
-----------------------------
ASCII value of a is 97.

Enter a character:
Press any key to continue
-----------------------------

そんな風には思ってませんだったら、
スミマセン・・・なんですが、
もしそう思ってるのであれば、試しに実施してみて下さい。
(a→Enter を4回という意味では無いですよ。)
下記のように表示されるはずです。
キー入力後にどういう処理が実施されているのか、
実施結果を踏まえて考えてみてください。

-----------------------------
ASCII value of a is 97.
ASCII value of a is 97.
ASCII value of a is 97.
ASCII value of a is 97.

Enter a character:
Press any key to continue
-----------------------------

aaaa入力後→Enterキー
というのを実施すると、
下記のような実施結果になると思っていませんか?
-----------------------------
ASCII value of a is 97.

Enter a character:
Press any key to continue
-----------------------------

そんな風には思ってませんだったら、
スミマセン・・・なんですが、
もしそう思ってるのであれば、試しに実施してみて下さい。
(a→Enter を4回という意味では無いですよ。)
下記のように表示されるはずです。
キー入力後にどういう処理が実施されているのか、...続きを読む


人気Q&Aランキング

おすすめ情報