diff --git a/docs/source/CppUsage.md b/docs/source/CppUsage.md index 2922b4b2e..983dc5ae6 100644 --- a/docs/source/CppUsage.md +++ b/docs/source/CppUsage.md @@ -59,15 +59,18 @@ a `char *` array, which you pass to `GetMonster()`. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} #include "flatbuffers/flatbuffers.h" #include "monster_test_generate.h" - #include // For printing and file access. + #include // C++ header file for printing + #include // C++ header file for file access - FILE* file = fopen("monsterdata_test.mon", "rb"); - fseek(file, 0L, SEEK_END); - int length = ftell(file); - fseek(file, 0L, SEEK_SET); + + std::ifstream infile; + infile.open("monsterdata_test.mon", std::ios::binary | std::ios::in); + infile.seekg(0,std::ios::end); + int length = infile.tellg(); + infile.seekg(0,std::ios::beg); char *data = new char[length]; - fread(data, sizeof(char), length, file); - fclose(file); + infile.read(data, length); + infile.close(); auto monster = GetMonster(data); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -78,9 +81,9 @@ If you look in your generated header, you'll see it has convenient accessors for all fields, e.g. `hp()`, `mana()`, etc: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} - printf("%d\n", monster->hp()); // `80` - printf("%d\n", monster->mana()); // default value of `150` - printf("%s\n", monster->name()->c_str()); // "MyMonster" + std::cout << "hp : " << monster->hp() << std::endl; // `80` + std::cout << "mana : " << monster->mana() << std::endl; // default value of `150` + std::cout << "name : " << monster->name()->c_str() << std::endl; // "MyMonster" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *Note: That we never stored a `mana` value, so it will return the default.*