に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. Firebaseスナップショットは、私はこのコードを持っている文字列
- 7. GoogleApiAvailability.getErrorDialogは()私はこのコードを持っている文字列リソース
- 8. は、私はこのC++のコードを持って、このC++コード
- 9. は、私はこの機能を持っている文字列
- 10. 文字列は、私が問題に持って
- 11. 私は次の文字列を持っている文字列
- 12. PHPグループ/私はこの配列を持っている3文字の国コード
- 13. OCamlの構文解析文字列は、私はこれに似た問題を持っている木
- 14. は、私は、文字列を持っているPython文字列
- 15. 私は、この持っている文字列配列
- 16. 私は、この形式の文字列を持っている
- 17. は、文字列CRLFを交換し、私はこのような文字列を持っているLFのC#
- 18. 1アンギュラ - 私はこの文字列を持っている文字列
- 19. デルファイコピー・オン・ライト私はこのようなコードを持っている文字列
- 20. 私はこのような出力いくつかのコード持っている私のC文字列
- 21. 私はこの文字列が持っている別の文字列
- 22. 文字列は、私は、次のコードを持ってjQueryの
- 23. 私はこのような文字列を持っている
- 24. 私はこの文字列を持っている
- 25. 私はこの文字列を持っているTCL
- 26. 私はこの文字列を持っているPHP
- 27. 店私は、このHTML文字列を持っている
- 28. 私はこのような文字列を持っている
- 29. 私はこの文字列を持っているgolang
- 30. foreachのと、私は問題を持っている私のコードの後にリンクされ問題ここ