HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0313
basonnoteloadで改行コードが無効に2未解決


bason

リンク

2007/3/13(Tue) 04:35:08|NO.6254

noteload命令で読み込んだ文字型変数を表示すると、改行コードの"\n"がそのまま文字として
表示されてしまいます。
そのため、かなりの量の文字データをプログラム中に置くことになってしまい困っています

なにかいい解決策はありますでしょうか。



この記事に返信する


Shinya

リンク

2007/3/13(Tue) 05:08:19|NO.6255

 テキスト内に "\n" を書かないことです。
テキスト内の "\n" は文字列です、一方プログラム中の "\n" は、HSPがそれを改行を示す数値(コード)に変換します。
noteload命令を使って外部から読み込んだ文字列は、"\n"を改行コードに変換しません、その必要がないからです。

テキスト内の文字列を改行したいなら
  a\nb\nc
と書くのではなく
  a
  b
  c
と書くのです。



Irisawa

リンク

2007/3/13(Tue) 10:12:40|NO.6256

というか、結構混乱や勘違いしている人が多いようですがHSPにおけるエスケープ文字で
ある、"\n"とプレーンテキストの"\n"は違います。
メタ文字のバックスラッシュ(\)に続く文字はある特定の文字コードに変換されます。
"\n"は改行コードであるCRLF(0x0d+0x0a)に変換されます。
一方、プレーンテキスト中の"\n"はただのバックスラッシュ+nです。
プレーンテキスト中にメタ文字は存在しません。
例えばメモ帳などのテキストエディタで「\n」を入力してこれが勝手に改行コードに
変換されたら困りますよね。



ONION software Copyright 1997-2021(c) All rights reserved.