Forum: Mikrocontroller und Digitale Elektronik Probleme mit sprintf


von Thomas (Gast)


Lesenswert?

Hallo!

Ich hab ein kleines Problem mit der Funktion sprintf.

Folgendes (zusammengefasstes) Programm:

  char temp[22];
  char calc;

  calc = 5 * 5;
  sprintf(temp, "fünfundzwanzig: %d", calc);

die stdio.h ist includiert. Auf die Zeile von sprinf bekomme ich
folgende Warning:

Warning[w6]: Type conflict for external/entry "sprintf", in module
main against external/entry in module sprintf; different types

Wo liegt mein Denkfehler? Ich verwende IAR Embedded Workbench für 8051
Controller.

Danke! Thomas

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

ich würde sagen, du solltest calc auch als int declarieren ud nicht als
Char...

von Thomas (Gast)


Lesenswert?

Hallo!

Danke für die Antwort.
Leider liegt es nicht daran. Wenn ich calc als int deklariere ändert
sich nichts. Es ändert sich auch nichts, wenn ich calc ganz weglasse:
  sprintf(temp, "fünfundzwanzig:");

Der Compiler bringt immer noch dieselbe Fehlermeldung.

mit strcpy(temp, "text"); funktioinert es einwandfrei, ich möchte
aber auch werte in den String einarbeiten können ...

Jemand eine Idee, woran das liegen kann?
Liebe Grüße
Thomas

von Werner B. (Gast)


Lesenswert?

Schau Dir doch mal das header file an um herauszufinden welche
datentypen sprintf bei den ersten zwei parametern erwartet.

von Thomas (Gast)


Lesenswert?

Hallo Werner,

danke für die Antwort.

Auszug aus dem Header File:
int  sprintf(char *__s,const char *__format,...);

Leider sagt mir das nicht allzuviel ... Kann mir jemand auf die Sprünge
helfen?

Liebe Grüße
Thomas

von Unbekannter (Gast)


Lesenswert?

@Thomas:

> Folgendes (zusammengefasstes) Programm:

Sicher, dass Du nicht falsch zusammengefasst hast?

von Thomas (Gast)


Lesenswert?

Ja - ich bin sicher!

Ich habe jetzt ein neues Projekt erstellt und meine C Dateien
eingefügt. Jetzt kompiliert er das Projekt problemlos - aus welchem
Grund auch immer. Vll. hatte ich falsche Einstellungen ...

Ich werde es heute abend auf dem Controller ausprobieren ...
Dann melde ich mich nochmal!

Liebe Grüße
Thomas

von Thomas (Gast)


Lesenswert?

Auf dem Controller läuft das Programm nun. Mit der Warnung lief es
nicht!

Danke nochmal an alle!

Liebe Grüße
Thomas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.