Hallo,
erstmal sry, dass ich keinen spezifischeren Themennamen gewählt habe, aber da ich nicht wirklich weiß, wo das Problem liegt wusste ich keinen genaueren.
Erstmal folgender Sachverhalt:
Der Code sollte folgendes tun:
Schauen, ob der erste Buchstabe ein $ oder . ist, wenn $, dann bis zum nächsten Leerzeichen gehen und den davorigen und folgenden Text in Variablen speichern, wenn ., dann den kompletten Text nach Leerzeichen trennen und in Variablen speichern.
Dies funktioniert unter Vista fehlerfrei, aber unter XP scheint er in die Defaultanweisung zu gehen, er überspringt quasi die switch ... und ich weiß nicht warum :/
Vllt weiß einer von euch weiter :S
Danke im Vorraus, MfG
erstmal sry, dass ich keinen spezifischeren Themennamen gewählt habe, aber da ich nicht wirklich weiß, wo das Problem liegt wusste ich keinen genaueren.
Erstmal folgender Sachverhalt:
Code:
void handlecommand(TCHAR * str, HWND mlist){
/* ... Variablendefinitionen hab ich weggelassen für den Post ... */
wcstombs(buffer,str,200);
switch((BYTE)buffer[0]){
case 0x24:
while(strncmp(&buffer[i]," ",1)!=0){
name[i-1] = buffer[i];
if(i>=32) break;
i++;
}
name[i-1] = '\0';
i++;
while((BYTE)&buffer[i] != 0x0){
message[u] = buffer[i];
if(i==99) break;
u++;
i++;
}
break;
case 0x2E:
for(int a = 1; a < strlen(buffer); ++a){
if(strncmp(&buffer[a]," ",1) == 0){
para[p][u] = '\0';
p++;
u=0;
if(p>2) break;
}else{
para[p][u] = buffer[a];
u++;
}
}
para[p][u] = '\0';
break;
}
}
Der Code sollte folgendes tun:
Schauen, ob der erste Buchstabe ein $ oder . ist, wenn $, dann bis zum nächsten Leerzeichen gehen und den davorigen und folgenden Text in Variablen speichern, wenn ., dann den kompletten Text nach Leerzeichen trennen und in Variablen speichern.
Dies funktioniert unter Vista fehlerfrei, aber unter XP scheint er in die Defaultanweisung zu gehen, er überspringt quasi die switch ... und ich weiß nicht warum :/
Vllt weiß einer von euch weiter :S
Danke im Vorraus, MfG