Menge der Zeichen in einem char Array in C?

Gast #6495070
Lesenswert?
• ▲
▼
Hallo,

Ich habe folgendes Problem:

Zunächst wird eine Funktion erstellt. In dieser Funktion soll beim 
Funktionsaufruf ein Text eingegeben werden(z.b.Hallo). Dieser Text soll 
in einem char Array mit max. 500 Zeichen gespeichert werden. Dann soll 
dieses char Array in einer printf Funktion ausgegeben werden. Soweit bin 
ich bis jetzt gekommen.

Nun will ich Die Nummer des letzten Index meines char Array in dem ein 
Zeichen gespeichert wurde plus eins (Bei "Hallo" 5+1) in einer int 
variable speichern um so die Menge der Zeichen zu bekommen die sich in 
meiner printf Funktion befinden.

Geht das?
Gast #6495119
Lesenswert?
• ▲
▼
Jörg W. schrieb:
> LuisBaatz schrieb:
>> um so die Menge der Zeichen zu bekommen die sich in meiner printf
>> Funktion befinden
>
> Du brauchst nicht zufällig einfach nur den Rückgabewert von printf()
> (den die meisten Aufrufer ignorieren)?

Ich wusste nicht, dass die Funktion einen Rückgabewert hat.
Entspricht dieser der Menge an Zeichen die sich in der Funktion 
befinden?
Und wenn ja, wie speichere ich diesen Wert in einer Variable?
Moderator Persönliche Seite #6495124
Lesenswert?
• ▲
▼
LuisBaatz schrieb:

> Ich wusste nicht, dass die Funktion einen Rückgabewert hat.

Dokumentation lesen bildet. ;-)

(Früher sagte man da einfach "RTFM".)

> Entspricht dieser der Menge an Zeichen die sich in der Funktion
> befinden?

Es "befinden sich" keine Zeichen "drin".

printf() gibt Zeichen nach stdout aus. Am Ende gibt es die Anzahl der 
erfolgreich ausgegebenen Zeichen zurück.

> Und wenn ja, wie speichere ich diesen Wert in einer Variable?

Wie bei jeder anderen Funktion:
1
foo = bar();
Gast #6495125
Lesenswert?
• ▲
▼
Mathias B. schrieb:
> Hi, also sowas
>
> char zeichenkette[500];
> int anzahl;
>
> strcpy(zeichenkette,"Hallo");
>
> //Dann gibt
>
> anzahl=strlen(zeichenkette);
>
> Die Anzahl der Zeichen in anzahl.

Ich bin leider noch Anfänger und würde ungern weitere Funktionen 
verwenden um den Code nachvollziehen zu können. Gibt es eine Möglichkeit 
das Problem ohne weiter Funktionen zu beheben?
Gast #6495128
Lesenswert?
• ▲
▼
Jörg W. schrieb:

>> Entspricht dieser der Menge an Zeichen die sich in der Funktion
>> befinden?
>
> Es "befinden sich" keine Zeichen "drin".
>
> printf() gibt Zeichen nach stdout aus. Am Ende gibt es die Anzahl der
> erfolgreich ausgegebenen Zeichen zurück.

Okay vielen dank :) Ich denke ich muss tiefer in die Materie eintauchen 
und erst richtig Verstehen wie die printf Funktion funktioniert. Ich bin 
noch Anfänger(Habe vor drei Wochen angefangen c zu lernen) und habe 
keine Ahnung was stdout ist.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.