Von Pointer zu byte array möglich?

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

      Von Pointer zu byte array möglich?

      Ich möchte einen Ponter (char *ret = new char[len]) in ein Byte Array konvertieren. Da ich in c++ und pointer neu bin und vorher mit C# gerarbeitet habe kenne ich mich nicht so gut aus würde das aber gerne wissen wie und ob es geht
      Im Prinzip ist ein char Array nichts anderes als ein Byte Array. Wofür willst du es denn als "Byte Array" haben?
      Dr. Gregory House: You've gotta get down here. They've got a satellite aimed directly into Cuddy's vagina. I told them that chances of invasion are slim to none but...
      Ich will die funktion nutzen:

      Quellcode

      1. DWORD FindPattern(BYTE Pattern[], BYTE FileByteArray[], DWORD Result)
      2. {
      3. DWORD MyPosition = 0;
      4. DWORD ResultCounter = 0;
      5. for (DWORD PositionFileByteArray = 0; PositionFileByteArray < sizeof(FileByteArray) - sizeof(Pattern); PositionFileByteArray++)
      6. {
      7. bool found = true;
      8. for (DWORD PositionPattern = 0; PositionPattern < sizeof(Pattern); PositionPattern++)
      9. {
      10. if (FileByteArray[PositionFileByteArray + PositionPattern] != Pattern[PositionPattern])
      11. {
      12. found = false;
      13. break;
      14. }
      15. }
      16. if (found)
      17. {
      18. ResultCounter += 1;
      19. if (Result == ResultCounter)
      20. {
      21. MyPosition = PositionFileByteArray;
      22. break;
      23. }
      24. }
      25. }
      26. return MyPosition;
      27. }
      Alles anzeigen


      habe den ClientByteArray als char pointer
      im gegensatz zu c#(und java) ist in c++ ein char, nicht ein datentyp der einem unicode-zeichen(mehr als 8 bit) entschpricht, sondern einem Byte (=8 bit)
      das ist deswegen, dass "damals" der ascii-Zeichensatz angesagt war, und für den braucht man eigentlich nur 7 bit - da das mit den Prozessoren nicht ganz zusammen passt, haben sie hald 8 bit genommen - ausserdem konnte somit auch ein erweiteter zeichensatz ermöglicht werden ...