|
|
Char array Speicherlayout |
|
TinTin82 |

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 07.05.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.09.2017, 16:49
Titel: Char array Speicherlayout
|
 |
Hi,
ich versuche gerade ein Character array von Matlab an ein COM objekt zu übergeben.
Meine C Schnittstelle:
Automation TypeLib parameter Beschreibung:
Wenn ich nun in Matlab versuche die Funktion auszuführen, dann schaut es so aus als würde Matlab jeden einzelnen Buchstaben mit '\0' terminieren ???
Wenn ich in der C-Funktion "TcpIpOpen" den ersten Parameter byteweise als uint8 interpretiere bekomme ich:
[50 0 50 0 55 0 46 .... ]
was in ascci
2 \0 2 \0 7 \0 . ....
entspricht.
Gibt es eine Möglichkeit das so zu ändern, dass matlab einen ganz normalen 0 terminierten C String an das C COM objekt übergibt ohne hinter jedem Buchstaben eine 0 Terminierung zuhaben ??
Gruß,
TinTin
|
|
|
|
|
TinTin82 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 07.05.17
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.09.2017, 22:40
Titel:
|
 |
Okay, ich hab den Fehler gefunden.
Matlab liefert wchar_t Typen. Die obrige Parameterbeschreibung war leider falsch. Es muss heißen:
Die C Schnittstelle:
Wobei BSTR laut Windows Dokumentation beschrieben ist als:
Wenn ich mit wchar_t arbeite, funktioniert es.
Viele Grüße,
TinTin
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|