動的二次元配列 – プログラミング – Home

通知
すべてクリア

[解決済] 動的二次元配列


ガラ
 ガラ
(@ガラ)
ゲスト
結合: 20年前
投稿: 201
Topic starter  

vector <CString> wArray ;
と宣言すると、可変長文字列を要素とする、可変長配列ができますが、
CString は、0x00を特別扱いするので、特別扱いしない配列にしたいのですが、
なにかいい方法は、ないでしょうか?

ちなみに
vector <vector<CHAR>> w2Array ;
とすることは、できませんでした。

(できれば、ポインタは、つかいたくありません)


引用未解決
トピックタグ
ガラ
 ガラ
(@ガラ)
ゲスト
結合: 20年前
投稿: 201
Topic starter  

OS、XP,VC++6.0


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

× vector <vector<CHAR>> w2Array ;
○ vector <vector<CHAR> > w2Array ;

こういう話?
でないなら、どんなデータを扱いたいのか具体的に書いてくれると良いかも。


返信引用
ガラ
 ガラ
(@ガラ)
ゲスト
結合: 20年前
投稿: 201
Topic starter  

たいちうさん、レスありがとうございました。
こういうなんですね。一時間も考えてました。


返信引用
アキラ
 アキラ
(@アキラ)
ゲスト
結合: 23年前
投稿: 49
 

VC++8.0(2005)からは、どっちもOKですけどね
○ vector <vector<CHAR>> w2Array ;
○ vector <vector<CHAR> > w2Array ;


返信引用
悠
 悠
(@悠)
ゲスト
結合: 17年前
投稿: 40
 

vector <string> w2Array; では、駄目なんですかね。。


返信引用
ガラ
 ガラ
(@ガラ)
ゲスト
結合: 20年前
投稿: 201
Topic starter  

悠 さんレスありがとうございます。
string では、0x00 を特別扱いしますので、困ります。
たとえば、{0x00,0x10,0x20} の内容をstring に入れて、
レングスをとると、「0」になってしまいます。
copy,compareなども0x00までしか見ないので画像データをあつかっているので、困って
しまいます。
アキラさん、いい情報ありがとうございました。
ちょっと値段とパフォーマンスを見てみます。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

> string では、0x00 を特別扱いしますので、困ります。
これは,文字列を扱うならCHARでも一緒だと思いますが.....
確かに変数に取り込むことは出来ても、実際に操作する段階になって
無視されてしまうのでは?
stringはそれを事前に防ぐために特別扱いするのではないですか?
C,C++,おそらくCLIも、文字列中に「0x00」を入れるのは避けなければいけないのでは?


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> string では、0x00 を特別扱いしますので、困ります。

しませんってば。
string zero_contained(abc\0def\0ghi\0,12);


返信引用
ガラ
 ガラ
(@ガラ)
ゲスト
結合: 20年前
投稿: 201
Topic starter  

悠さん、επιστημη さん、ITOさん、レスありがとうございます。
おっしゃるとおり、string は、CString と違い、NULLを特別扱いしません。
わたしの勘違いでした。
ITOさん、そのとおりだとおもいます。ですから、私は、文字列ではなく、ただのストリ
ームを扱いたいのです。(もともと、私のstringの勘違いが原因で、すこし話がそれて
しまいましたね。すいません。)
επιστημη さん、いつもありがとうございます。
いま、επιστημη さんのSTLに関しての資料を読ませてもらっています。
とてもわかりやすいと思います。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました