Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

C-Programm liefert falsche Ausgabe

Nobody666 / 4 Antworten / Flachansicht Nickles

Hallo, hab ein C-Programm mit dem GCC-Compiler geschrieben und es funktioniert. Selbes Programm mit dem QC2 compiliert, auch ohne fehler, aber falsche Ausgabe. Denke dass GCC ja ein C++ Compiler ist und der andere ein reiner Compiler, aber .exe ist doch eigentlich .exe aber amscheinend nicht. Kann mir jemand helfen?


Anbei ein kleiner Auszug, der mir beim GCC das gewünschte bringt und mit dem QC2 was falsches


 sprintf(schreibe,"S308%08lX%06lX",Adress,SerialNumber); //in Form -om als String in schreibe gespeichert
 //aufspalten des Strings in 2er hex Zahlen(zur pruefsummenberechnung):
 for (i=0; i<=8;i++) {
  sscanf(schreibe+i*2,"%2X",&aufspaltung[i]);
  }
 //summieren der hexzahlen(i=1, da S3 nicht mitberechnet):
 for(i=1;i<=8;i++) {
  pruefsumme+=aufspaltung[i];
  }
 // Umwandlung in einen String zum Verändern(nur letzten 2 Stellen sollen angezeigt werden):
 sprintf(pruefende,"%016X", 0XFF - pruefsumme); //geraetespezifisch von FF abgezogen
 //trennen des Strings in 2er hex Zahlen(die letzte ist entscheident):
 for (i=0; i<=7;i++) {
  sscanf(pruefende+i*2,"%2X",&trenne[i]);
  }
 if(Darstellung==2){
 //schreiben der Hexnummern in Form -oi(123456->563412):
 fprintf(fp,"S308%08X%02X%02X%02X",Adress,aufspaltung[8],aufspaltung[7],aufspaltung[6]);}

bei Antwort benachrichtigen