Problem mit einem Pointer auf einen (Struktur)Array



  • Also, es geht um eine X400 Nachricht die mehrere Attachments haben kann, über die ich loopen und den entsprechenden Attachmentnamen auslesen möchte.

    Die Anzahlt der Attachments liefert nFileCount zurück.
    lpFiles ist ein Pointer auf einen Array der Struktur MapiFileDesc, welche die Informationen über das Attachment enthält.

    Der Loop ist mittles diese Codes möglich, wobei immer der aktuelle Attachmentname nach BodyPartType14 kopoiert wird.

    for (i=0; i < pMessage->nFileCount; i++)
    	{
    		strcpy(BodyPartType14, pMessage->lpFiles->lpszFileName);
    		pMessage->lpFiles++;
    	}
    

    Leider zeigt der Pointer nach diesem Loop ins Nichts. Um dies zu umgehen würde ich gerne den Array immer an einer bestimmten Stelle direkt adressieren und nicht hochzählen.

    Mein Versuch :

    pMessage->lpFiles[i]->lpszFileName ;
    

    ist aber anscheinend syntaktisch falsch und wird immer vom Copiler angmeckert.

    Kann mir da jemand weiter helfen, wie man das richtig schreibt?

    Diese beiden Schreibweisen sind zwar möglich , helfen mir aber nicht unbedingt weiter :

    (pMessage->lpFiles + i)->lpszFileName;
    pMessage->lpFiles[i];
    

    Danke
    Olli



  • deepred schrieb:

    Diese beiden Schreibweisen sind zwar möglich , helfen mir aber nicht unbedingt weiter :

    (pMessage->lpFiles + i)->lpszFileName;
    pMessage->lpFiles[i];
    

    Erstere kannst du auch als pMessage->lpFiles[i].lpszFileName schreiben, das ist glaube ich das was du suchst.



  • Danke !

    Das war in der Tat genau das was ich versucht habe :-))


Anmelden zum Antworten