getlineの改行コードを除く方法についてNo.00355
iceaxs さん 01/11/27 19:11
 
こんにちは。iceaxsです。

質問します。
getline #aにて、データを取得したときに、取得データの中に、
改行コードが含まれている場合に、writefileにて、改行を取り除いて、
FILEに書き込みたいのですが、どのようにすればよろしいでしょうか。
writefile単体では、行単位でとなっているかと思いますが、

*********************************
timeout 5
appendfile "abc.txt"
if( no ) createfile "abc.txt"
beginloop
getline #a
getline #b
if( timeout ) breakloop

writefile "abc.txt",#a +#b
endloop

としていると、getline 取得した変数 #a、#bが
テキスト上の例として、
abcdefghijklmnopqrstuvwxyz^M
ABCDEFGHIJKLMNOPQRSTUVWXYZ^M
1234567890^M
     *@ (これは、#a、bで取得したデータ)
     *A
     *B
TIMEOUTまで取得

となってします。
これを、
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890^M
     *@ *A *B^M
TIMEOUTまで取得したデータをする。

としたいのですが、皆さんからの情報をよろしくお願いします。




[ ]
RE:00355 getlineの改行コードを除く方法No.00356
秀まるお2 さん 01/11/28 18:02
 
>getline #aにて、データを取得したときに、取得データの中に、
>改行コードが含まれている場合に、writefileにて、改行を取り除いて、
>FILEに書き込みたいのですが、どのようにすればよろしいでしょうか。

 改行が付いているとしたら最後の1バイトなので、

   if( length(#a) > 0 and part( #a, length(#a) - 1, 1 ) == "^M" )
       #a = part( #a, 0, length(#a) - 1 )
   endif

 ってな処理を入れればいいかと思います。

[ ]
RE:00356 getlineの改行コードを除く方法No.00357
iceaxs さん 01/11/29 11:37
 
こんにちは、iceaxsです。
回答ありがとうございます。
スクリプトに加えて実施してみます。


>getline #aにて、データを取得したときに、取得データの中に、
>改行コードが含まれている場合に、writefileにて、改行を取り除いて、
>FILEに書き込みたいのですが、どのようにすればよろしいでしょうか。
>
> 改行が付いているとしたら最後の1バイトなので、
>
>   if( length(#a) > 0 and part( #a, length(#a) - 1, 1 ) == "^M" )
>       #a = part( #a, 0, length(#a) - 1 )
>   endif
>
> ってな処理を入れればいいかと思います。

[ ]