複数の '\000' 終了文字を間に含む文字列に遭遇したアプリケーションを開発しています。文字列にヌル文字が必要です。これを処理している間、文字列は '\000' でのみ終了するため、ASCII 値を大きくしようとしています。しかし、私がそれを行うと、セグメンテーション違反が発生しました。
私は以下のようにコードセグメントを書いています
char *content;
content = malloc(8);
content = "\037\000\000\000\000\037\037\037";
int content_length = 8;
content[1] = content[1] + 1; // Increasing the ASCII value
ここで、ASCII 値を増やす最後の行を削除すると、アプリケーションで受信されるのは 1 バイトだけです。したがって、2 番目のバイト (コンテンツ [1]) を変更すると、2 バイトを転送する必要がありますが、セグメンテーション エラーが発生します。
私は何か間違ったことをしていますか?16進数または8進数はそのようなことをしますか?
ありがとう