In meiner Anwendung (mit c) Ich brauche einig Integer-Parameter von einem Byte-Puffer mit folgenden Syntax zu lesen:Pufferzeiger als Argument in c-Funktion
param1 = (uInt16)(buffer[1]<<8) + buffer[0]);
param2 = (uInt16)(buffer[3]<<8) + buffer[2]);
Ich mag eine Funktion schreiben Integer zu erhalten aus dem Puffer ohne Indizes oder feste Zahl und nannte es mehrmals ... wie folgt aus:
param1 = getWord(buffer); //The buffer now points to first integer
param2 = getWord(buffer); //now the buffer points to second integer
In diesem Fall muss ich den Puffer als Referenz zu übergeben und sicher muss ich den Pufferzeiger innerhalb der erhöhen Funktion. Kann mir jemand helfen, diese Funktion zu schreiben? Wahrscheinlich muß ich den Array-Zeiger als Parameter zu übergeben, aber ich weiß nicht, wie zu tun, dass
Zeigen Sie Ihre Bemühungen und wir werden Ihnen bei Problemen helfen. Dies ist kein Code für Ihren Service. – LPs
Ich stimme für das Schließen dieser Frage als Off-Topic ab, da SO kein Kodierungsdienst ist. – LPs
Sie könnten es mit einer 'static'-Variable tun, aber ich empfehle, einen Offset- oder Indexparameter' uint16_t getWord (uint8_t * buffer, uint32_t offset) hinzuzufügen; ' – Rocki