Zeichenkette überspringen in sscanf Funktion?



  • Hallo,

    ich möchte bestimmte Zeichen in einer sscanf Funktion überspringen da sie nicht benötigt werden.

    Beispiel:

    Zeichenkette:
    at+recv_data=open,0,49247,192.168.123.2 
    
    if (5 == sscanf(WifiInputData, "%12c=%5[^,],%c,%5s,%15s", at, status, &WifiPort, DP, WifiIP)) {
    
    ...
    }
    

    "at+recv_data" + "=" + "49247" werden nicht benötigt und müssen eigentlich keinen Variablen zugeteilt werden
    Das es aber 5 einzelne Daten ist wiederum wichtig und muss erfasst werden.

    Wie bringe ich das sscanf bei?

    Gruß
    Jackson



  • int main() {
    	const char *s="at+recv_data=open,0,49247,192.168.123.2";
    	char x[100],y[100];
    	int i;
    	if( 3==sscanf(s,"%*[^=]=%[^,],%d,%*d,%s",x,&i,y))
    	printf("%s%d%s",x,i,y);
    	return 0;
    }
    

    https://ideone.com/2CIRdV



  • Funktioniert, super danke dir!


Anmelden zum Antworten