私は120.000ファイルを読み込んで各ファイルの各行を文字列[]に保存しなければならないプログラム(機械学習コース)をやっています。行が繰り返される場合は、辞書に追加しないでください。 私は文字列dic [100000]を宣言しました。それ以上ではなく、20,000個以下のファイルを処理することができます。 問題は、文字列dic [200000]プログラムをコンパイルしても.exeでクラッシュすると、dic [100000]、dic2 [100000]と宣言した場合と同じです。 誰も私に120.000ファイルを処理できるように適切な方法でメモリを使用する方法を教えてもらえますか?C++で文字列を使用したメモリクラッシュ
答えて
おそらく、プログラムのスタックサイズを超えています。それは私が覚えている限りコンパイルするときに設定できるものです。いずれにしても、スタックの代わりにヒープを使用する必要があります。動的メモリを使用します。例:
string *dic = new string[200000];
...
delete [] dic;
このようにメモリを解放する必要がありますが、もっと多くのメモリを使用することができます。
私は試してみるつもりです。 –
これは悪い習慣とみなされます。本当に本当に 'string []'に固執したい場合は、 'std :: unique_ptr
さらに、 'std :: deque
- 1. 文字列配列を使用したソート関数 - Cのエラー
- 2. IOStreamを使用したC++での文字列操作/エラー
- 3. 分割コマンドのstd ::文字列を使用してC++で文字列:: substrは
- 4. protobuf-Cでの文字列の使用
- 5. C++での文字列ライブラリの使用
- 6. 文字列を使用したJava文字列の分割|
- 7. htmlを使用したC#multiline文字列
- 8. C#のパラメータを使用したSqlCommandの文字列リスト
- 9. C#:MySQLを使用した文字列のUnicode
- 10. 文字列キーを使用したC++ハッシュテーブル
- 11. C#管理コードを使用したSQL文字列抽出
- 12. C#のhtmlタグを使用した文字列
- 13. デリミタを使用したC++のintと文字列の解析
- 14. C#を使用したHTML文字列の解析
- 15. C#文字列配列を使用したIN文の大まかな問題
- 16. Windows8 - C#でローカライズされた文字列を使用する
- 17. iso_c_bindingを使用したFortran-Cブリッジでの文字列の配列
- 18. 文字列を使用したHTML.DisplayForメソッド
- 19. 文字列を使用したAndroidカスタムキーボード
- 20. JSON文字列を使用したIHttpActionResult
- 21. 文字列を使用したVerilogマクロ
- 22. 文字列の '\'文字を文字列として使用
- 23. C++を使用して行単位で文字列を読む
- 24. CでBCDを使用して数値文字列を圧縮
- 25. 再帰を使用してC++で文字列をアンマウントする
- 26. Cプラクティステスト用文字と文字列
- 27. WinForms(C#)を使用して文字列を描画した後の文字列の配置
- 28. 文字列を使用してCでテキストファイルに出力する
- 29. C#文字列を分割してIfステートメントで使用
- 30. 文字区切り文字を使用した列の分割
ヒープに割り当てることを試してください –
何が起きているのかを確認するためにコードを投稿してください。 –
std :: vectorを使用してください。 –