Seriell

Was die einzigen Funktionen machen weiß ich selber aber danke, das Problem dabei ist nur das ich den Buffer mit %s wieder gebe und erhallte das "00000200" das sollte eigentlich hex sein und wenn ich das mit %x mache erhalte ich das "2402fda5".
Jetzt hoffe ich das du es verstehst.

MFG Viper
 
wenn du

Code:
int nResult;
sscanf(buffer+strlen(buffer)-10, "%x", &nResult);

machst sollte doch in nResult dein Wert drin stehen (hex oder dec is ja erst bei der Ausgabe entscheident)
 
Das is komisch bei mir gehts:

Code:
#include <stdio.h>
#include <string.h>

int main() {
  char buffer[] = "Z94C8100000000200";
  
  int nResult;
  
  sscanf(buffer+strlen(buffer)-10, "%x", &nResult);
  
  printf("Buffer: %s, nResult: %d", buffer, nResult);


  return 0;
}
Ausgabe is: Buffer: Z94C8100000000200, nResult: 512
mfg Higret
 
LoL is ja dumm, verstehe ich grade jetzt nicht, gleicher code und es ging nicht? Jetzt schon :confused:.
Muss man es verstehen

//edit weiß wo das problem war, ich hatte sscanf geändert.
 
Hallo, so habe wieder ein schönes Problem. Vom Code her ist alles in Ordnung nur mein Compiler stürzt immer ab und ich weiß nicht warum.

C:
void TAGProcess (char *Buffer)
{
	int Tag=0;
	char check_msg[64];
	int Database=512;

	if(strlen(Buffer)>15)
	{
		sscanf ((Buffer-2)+strlen(Buffer)-8, "%x", &Tag);
				
		ToLog(TAG, "TAG: %s,\nSize: %i (\n wird mit gezählt),\nTag cut: %i\n", Buffer, strlen(Buffer), Tag);

		if(strcmp(Tag, Database) == 0)
			
			wsprintf(check_msg, L"Gefunden");
		else
			wsprintf(check_msg, L"Nicht gefunden");
		GetEdit(Buffer, Tag, check_msg);
	}
}

Irgend wie hat er Probleme mit if(strcmp(Tag, Database) == 0)

Und Danke noch mal euch beiden für eure Hilfe.

MFG Viper
 
Zuletzt bearbeitet:
Zurück