ベクトルへのアクセスとデータのファイルへのエクスポート

user9359543

生のファイルを開き、データを読み取り、それをベクターに格納するこのコードを取得しました。今、私はJavaのバックグラウンドを持っており、いくつかの基本を読んだ後、C ++での動作が少しよく理解できたと感じていますが、ファイルリーダー関数の形式に出会ったことはありません...

目的は、関数で作成されたベクターに格納されているデータを取得し、CSVファイルに出力することです。Javaでは問題ありません。私が欲しいのは、C ++の完全な初心者である誰かを助けることができるいくつかのポインタといくつかの良いリソースです。繰り返しますが、私は答えではなく、ヒントを探しています。

//Set file name and path    
std::string filename = "Betty.raw";

//Open binary file for reading
std::ifstream myfile(filename.c_str(), std::ios::in | std::ios::binary);
if (myfile.is_open()) {

    unsigned char c = 0;
    float f = 0;

    //Loop through data X changes first/fastest.
    for (unsigned int iz = 0; iz < mZMax; iz++)
        for (unsigned int iy = 0; iy < mYMax; iy++)
            for (unsigned int ix = 0; ix < mXMax; ix++) {

                //Initialise empty vector
                my::Vec3f vec = my::Vec3f();

                //Read x then y then z and store in vec (vector)
                //Data needs converting to float from char and adjusted
                myfile.read((char *)&c, 1);
                f = (float)c;
                vec.x = f/255-0.5;

                myfile.read((char *)&c, 1);
                f = (float)c;
                vec.y = f/255-0.5;

                myfile.read((char *)&c, 1);
                f = (float)c;
                vec.z = f/255-0.5;

                //Store vector in datastructure
                mData[iz][iy][ix] = vec;

            }

main() {


char delimiter = ", ";

for(unsigned x=0; x < mData[ix]; x++) {
    for(unsigned y=0; y < mData[iy]; y++) {
        for(unsigned z=0; z < mData[iz]; z++) {
            cout << x << delimiter << y << delimiter <<  z << endl;
}

    //Close the file when finished
    myfile.close();
}
素晴らしい

ベクトルにアクセスするには、最初の3つのネストされたループをリサイクルするだけです。

std::ofstream output("blah.csv");

if (!output.is_open())
    //error, abandon ship!!!

char delimiter = ','; // char can only hold 1 character, and uses ' not "
// Alternative if you want spaces aswell
// std::string delimiter = ", ";

for (unsigned int iz = 0; iz < mZMax; iz++)
    for (unsigned int iy = 0; iy < mYMax; iy++)
        for (unsigned int ix = 0; ix < mXMax; ix++)
            output << mData[iz][iy][ix].x << delimiter << mData[iz][iy][ix].y << delimiter << mData[iz][iy][ix].z << '\n';

これは、mDataがのオブジェクトを保持my::Vec3fし、csvの出力を0〜1の正規化された浮動小数点値にすることを前提としています。

コードを改善するもう1つの良い点は、mZMaxectで固定バッファーサイズを使用する代わりに、読み取りの失敗/成功をチェックすることです。次に、mDataをのような動的コンテナに置き換えstd::vectorます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

AndroidでのSQLiteデータベースのXMLファイルへのエクスポート

分類Dev

CSVファイルへのデータのエクスポート

分類Dev

.sqlファイルへのPostgresqlデータベースのエクスポート

分類Dev

.sqlファイルへのPostgresqlデータベースのエクスポート

分類Dev

セルからExcelファイルへのデータのエクスポート

分類Dev

AzureBLOBストレージから変数へのファイルのデータへのアクセス

分類Dev

ベクトル要素のポインタへのアクセス

分類Dev

ファイルからのデータへのアクセス

分類Dev

JuliaのCSVファイルへのエクスポート

分類Dev

MySQLから必要な形式のテキストファイルへのデータのエクスポート

分類Dev

エクスポートされた関数へのhtmlファイルからのアクセス

分類Dev

JSONファイルへのデータのエクスポートについてサポートが必要

分類Dev

データベースからの.jsfファイルへのアクセスと使用

分類Dev

ES6のインデックスファイルへのエクスポート/インポート

分類Dev

ファイル間のプライベート属性へのアクセス-エラーの理解、Python 3.8.2

分類Dev

JSONファイルからのデータへのアクセスと検索

分類Dev

CSVファイルへのエクスポート

分類Dev

BLOBを含むAWSRDSでのOracleテーブルのエクスポートとオフラインデータベースへのインポート

分類Dev

スケールファクターとオフセットによるPythonへのインポート時のNetCDFデータの精度の低下

分類Dev

MongoDBで使用するためのAccessからCSVファイルへのデータのエクスポート

分類Dev

マングースストリームデータとCSVファイルへのエクスポートデータ

分類Dev

エクスプローラーバーからのファイルリストへのアクセス

分類Dev

JAVA:Excelへの(データベースからの)データのエクスポートとクライアント側への送信

分類Dev

SQLからCSVファイル、メタデータ、ヘッダー行へのBCPエクスポート

分類Dev

OracleBLOBからSQLFileTableへのファイルのエクスポート-ファイルタイプ?

分類Dev

WCFサービスルートファイルへのアクセス

分類Dev

C ++のクラスのフィールドとタイプのリストへのアクセス

分類Dev

インデックスによるベクトルイテレータへのアクセス?

分類Dev

対応するタイムスタンプを持つ.datファイルへのデータの追加とエクスポート

Related 関連記事

  1. 1

    AndroidでのSQLiteデータベースのXMLファイルへのエクスポート

  2. 2

    CSVファイルへのデータのエクスポート

  3. 3

    .sqlファイルへのPostgresqlデータベースのエクスポート

  4. 4

    .sqlファイルへのPostgresqlデータベースのエクスポート

  5. 5

    セルからExcelファイルへのデータのエクスポート

  6. 6

    AzureBLOBストレージから変数へのファイルのデータへのアクセス

  7. 7

    ベクトル要素のポインタへのアクセス

  8. 8

    ファイルからのデータへのアクセス

  9. 9

    JuliaのCSVファイルへのエクスポート

  10. 10

    MySQLから必要な形式のテキストファイルへのデータのエクスポート

  11. 11

    エクスポートされた関数へのhtmlファイルからのアクセス

  12. 12

    JSONファイルへのデータのエクスポートについてサポートが必要

  13. 13

    データベースからの.jsfファイルへのアクセスと使用

  14. 14

    ES6のインデックスファイルへのエクスポート/インポート

  15. 15

    ファイル間のプライベート属性へのアクセス-エラーの理解、Python 3.8.2

  16. 16

    JSONファイルからのデータへのアクセスと検索

  17. 17

    CSVファイルへのエクスポート

  18. 18

    BLOBを含むAWSRDSでのOracleテーブルのエクスポートとオフラインデータベースへのインポート

  19. 19

    スケールファクターとオフセットによるPythonへのインポート時のNetCDFデータの精度の低下

  20. 20

    MongoDBで使用するためのAccessからCSVファイルへのデータのエクスポート

  21. 21

    マングースストリームデータとCSVファイルへのエクスポートデータ

  22. 22

    エクスプローラーバーからのファイルリストへのアクセス

  23. 23

    JAVA:Excelへの(データベースからの)データのエクスポートとクライアント側への送信

  24. 24

    SQLからCSVファイル、メタデータ、ヘッダー行へのBCPエクスポート

  25. 25

    OracleBLOBからSQLFileTableへのファイルのエクスポート-ファイルタイプ?

  26. 26

    WCFサービスルートファイルへのアクセス

  27. 27

    C ++のクラスのフィールドとタイプのリストへのアクセス

  28. 28

    インデックスによるベクトルイテレータへのアクセス?

  29. 29

    対応するタイムスタンプを持つ.datファイルへのデータの追加とエクスポート

ホットタグ

アーカイブ