Wie kann ich berechnen Sie die Anzahl von Elementen im char-array?

Ich versuche zu berechnen, die Anzahl der Elemente in einem array, und mir wurde gesagt, dass die Linie

int r = sizeof(array) / sizeof(array[0]) 

mir geben würde, die Anzahl der Elemente im array. Und ich fand die Methode funktioniert, zumindest für int-arrays. Wenn ich versuche diesen code, jedoch Dinge zu brechen.

#include <iostream>
#include <Windows.h>
using namespace std;

int main() {
    char binaryPath[MAX_PATH];
    GetModuleFileName(NULL, binaryPath, MAX_PATH);
    cout << "binaryPath: " << binaryPath << endl;
    cout << "sizeof(binaryPath): " << sizeof(binaryPath) << endl;
    cout << "sizeof(binaryPath[0]: " << sizeof(binaryPath[0]) << endl;

    return 0;
}

Wenn dieses Programm läuft binaryPath Wert ist

C:\Users\Anish\workspace\CppSync\Debug\CppSync.exe

das zu haben scheint, eine zurückgegebene Größe von sizeof in bytes? bits? idk, könnte mir jemand erklären, dieses auch?) 260. Die Linie

sizeof(binaryPath[0]);

gibt einen Wert von 1.

Natürlich anschließend dividieren 260 von einem Ergebnis von 260, die ist nicht die Anzahl der array-Elemente (nach meiner Zählung sind es 42 oder so). Könnte mir jemand erklären, was ich falsch mache?

Ich habe den leisen Verdacht, dass ist nicht wirklich ein array, wie ich darüber denke (ich komme von Java und python), aber ich bin mir nicht sicher also Frage ich Euch.

Dank!

  • Wie ich schon sagte als Antwort auf dieses: stackoverflow.com/questions/16049936/..., Aber mir wurde gesagt, es war nicht die richtige Antwort, weil es nichts hatte zu tun mit, warum Ihr code war ein Absturz. Vielleicht möchten Sie gehen zurück auf diese Frage und erklären (falls jemand anderes läuft in eine ähnliche proble), was das Update war...
  • Auf einem ganz anderen Hinweis, schrieben Sie using namespace std; es, oder war es von irgendeinem tool? Gerade auf der Suche nach Informationen keine Urteile beteiligt sind.
  • Die Anzahl der Elemente der char array MAX_PATH. Es ist einfach so.
Schreibe einen Kommentar