[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
| |
文字列の保存について
2
:
管理人★
:2024/06/22(土) 11:26:47
sagamatさん
書き込まれた文字列の最後がNULL(\0)で終端されていないのが原因だと思います。
書き込む際にNULL(\0)まで含めて書き込むか、読み込む際にNULL文字を追加すればよいと思います。
例1 NULL文字まで書き込む
dataTextLen =dataTextLen + 1; // NULL終端文字まで含めるため+1する
state->write(&dataTextLen, sizeof(int));
state->write((void*)dataText.c_str(), sizeof(char) * dataTextLen);
例2 NULL文字を追加できるよう、tmpTextを1文字多くする。
char* tmpText = new char[dataTextLen+1];
memset(tmpText, 0 sizeof(char) * (dataTextLen+1)); // tmpTextをNULL文字で埋める
state->read(tmpText, sizeof(char) * dataTextLen);
dataText = std::string(tmpText);
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板