C言語なのですが、2つの文字列の結合で復元
できるのかどうか質問です。
1つの文字列の最後の文字が全角ひらがなの
片方(2バイト文字の1バイトのみ)で、
もう1つの文字列の先頭文字が、全角ひらがなの
片方(2バイト文字の1バイトのみ)の場合です。
2つの文字列に分割された1文字を、他のバッファに
結合させて復元させることはできるのでしょうか。
それでは、ご指導宜しくお願い致します。
特に問題なくできると思います。
そうなんですか?
すみません、簡単な質問をしてしまったみたいで。
ないっぺさん、どうもありがとうございました。
では、ファイルの場合なのですが2GBのファイルを
1GBずつに分割して、その状態が先ほどのように
1つの文字が分断されている場合に、再度結合するのは
出来ますでしょうか。
度々、申し訳ありませんが宜しくお願い致します。
できますよ
バイナリモードで扱えば、問題ありません。
余談ですけど16ビットアプリの場合1ファイル2GBまでの制限ありますよ
ファイルポインタの制限によるものです
aさん、クラフトマンさん、woodさんレスありがとうございます。
こちらで書き忘れていたのですが、バイナリモードでの
結合ではなく、テキストモードで行いたい場合です。
重要な部分を書き忘れてしまい申し訳ありませんでした。
すみませんが、宜しくお願い致します。
>こちらで書き忘れていたのですが、バイナリモードでの
>結合ではなく、テキストモードで行いたい場合です。
意図が良くわからないのですが。
テキストモードというのは、読み書きの際にいろいろな加工をします。単純にファイルを
読んで、別のファイルに書き出しても、完全に同じになるとは限りません。
バイナリモードというのは、読み書きの際に中身の解釈も加工も一切しません。ファイルを
読んで、別のファイルに書き出せば、同じものが出来ます。なので、テキストファイルを読ん
で、別のファイルに書き出せば、同じテキストファイルが出来ます。
ですから、既に存在する『テキストファイル』をバイナリモードで開いて、複数のファイル
に分割したりすればいいわけなんですが。実用性・信頼性を上げるには、分割されたファイル
にヘッダを付加して、元のファイル名とか、分割の構成とかもつようにする必要があるかもし
れませんが、それがご自分で考えてみてください。
あっ、それもと、分割したそれぞれのファイルも、テキストファイルとして使いたいという
ことかな。であれば、そもそも2バイト文字の途中で分割するのが間違いでしょう?
ここまでの経緯を見る限り簡単な試験すらなさっていないようですが、実際に試してみれば話は
早いんじゃないでしょうか。
クラフトマンさん、レスありがとうございました。
説明が不十分で、申し訳ありませんでした。
今回のクラフトマンさんの回答でOKです。
これから、テキストモードをバイナリで開き、
バイナリモードで分割し、再度バイナリモードで結合
させてみます。
丁寧な返答ありがとうございました。
解決しました。
親切に教えてくださった方、どうもありがとうございました。