www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit sprintf


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

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

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Werner B. (Gast)
Datum:

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

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas:

> Folgendes (zusammengefasstes) Programm:

Sicher, dass Du nicht falsch zusammengefasst hast?

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thomas (Gast)
Datum:

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

Danke nochmal an alle!

Liebe Grüße
Thomas

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.