にcharに。私のコードは完全に間違っているが、私はgoogleを通して多くのことをテストする。誰かが私を助けてくれる?文字列は、私はこのコードを持っているC++の問題
0
A
答えて
3
あなたは単にあなたがchar*
なくconst char *
に文字列データを取得する必要がある場合、あなたはそのようにcopy
する必要がstrings::c_str()
string final;
const char *pp = final.c_str();
を使用する必要があります。
std::string final;
//Allocate pointer large enough to hold the string data + NULL
char *pp = new char[final.size() + 1];
//Use Standard lib algorithm to copy string data to allocated buffer
std::copy(final.begin(), final.end(), pp);
//Null terminate after copying it
pp[final.size()] = '\0';
//Make use of the char *
//delete the allocated memory after use, notice delete []
delete []pp;
1
なぜあなたは* charを持つ必要があります。私は最終的に全てを連結します。 * charが必要な場合は、電話でこれを達成できます。
final.c_str();
charを使用する場合は、
i=final.size()+1;
char *pp = new char[i];
1
あなたが直接char*
にstring
を変換することはできません:あなたは十分なメモリを確保していることを確認してください。
const char*
が適切な場合は、string::c_str()
を使用できます。
それ以外の場合は、文字列の内容を事前に割り当てられたchar配列にコピーする必要があります。
関連する問題
- 1. は、私は、次のコードを持っている文字列
- 2. は、私は、この文字列を持っている文字列
- 3. 私は次の文字列を持っている文字列
- 4. は、私はこの機能を持っている文字列
- 5. 私は、この持っている文字列配列
- 6. PHPグループ/私はこの配列を持っている3文字の国コード
- 7. 私は、この形式の文字列を持っている
- 8. 私はこの文字列が持っている別の文字列
- 9. デルファイコピー・オン・ライト私はこのようなコードを持っている文字列
- 10. OCamlの構文解析文字列は、私はこれに似た問題を持っている木
- 11. 私はこのような文字列を持っている
- 12. 私はこの文字列を持っているPHP
- 13. 私はこの文字列を持っている
- 14. 店私は、このHTML文字列を持っている
- 15. 私はこのような出力いくつかのコード持っている私のC文字列
- 16. は、どのように私は、文字列は、私はこのような文字列を持っている
- 17. チェックは、文字列は、私は文字列のリストを持っている
- 18. C#私はこのような文字列のリストを持っている文字列
- 19. jQueryのは、私は次のコードを持っている文字列
- 20. は、私はこのコードを持っている数字
- 21. ページネーションは、私はこの問題を持っているCodeIgniterの
- 22. は、私は、このコードに問題が持っているのpython 3.2.2
- 23. 建物のクラス名は、私はこのような文字列の配列を持っている文字列
- 24. 複雑Javascriptの文字列は、私がここにこの文字列を持っている
- 25. 私はjQueryの中の文字列を持っている文字列
- 26. Vimは私はこの問題を持っているテキスト
- 27. toUpperCaseのは、私は、文字列を持っている
- 28. は、私は、IPv6アドレスの文字列を持っている
- 29. は、Pythonは、私はこれらの3つの文字列を持っている文字列
- 30. SmartyのPHP私は、文字列を持っている文字列