Zeichen ausgeben!!!
-
Hey Leute brauche eure Hilfe.
Ich gebe einen Satz ein. Wie kann ich danach anhand des Programmes ausgeben, wie viele Zeichen dieser Satz beinhaltet und wieviele Wörter dieser Satz beinhaltet.
Ich bin absolut ratlos, hoffentlich hat jemand eine Antwort.
Gruss
Tirone
-
Tirone schrieb:
Ich gebe einen Satz ein. Wie kann ich danach anhand des Programmes ausgeben, wie viele Zeichen dieser Satz beinhaltet
strlen () für char* und .size () für strings.
und wieviele Wörter dieser Satz beinhaltet
Anzahl der Leerzeichen + 1.
Moritz
-
Hey danke Moritz
Das klappt soweit, doch habe ich noch eine zweite Frage. Wie kann ich die Anzahl Zeichen lesen von einer Textdatei, die ich mit dem Befehlf = fopen ("C:\Uebung.TXT", "r")
einlese und mit dem Befehl
while ( (c = fgetc(f)) != EOF )
{
putchar(c);
}
fclose(f);
}ausgebe!! Ich kann die Verknüpfung irgendwie nicht machen!
Gruss
Tirone
-
wenn ich richtig geraten hab, was du meinst:
#include <fstream> //Besser c++ streams benutzen #include <string> //String using namespace std; //... string str; ifstream in("datei.txt"); //datei öffnen in.getline(str,1000); //zeile einlesen cout<<str.length(); //länge
-
Also so gehts am einfachsten. Das folgende Programm habe ich erzeugt. Ich lade die Datei und gebe sie anschliessend am Bildschirm aus. Jetzt möchte ich ebenfalls am Bildschirm ausgeben wie viele Zeichen die Textdatei hat und wie viele Wörter sie beinhaltet.
// fgetc.cpp - Ein Beispiel für das Lesen aus einer Datei
#include <stdio.h>
#include <iostream.h>
#include <string.h>void main()
{
FILE *f;
int c;
char string[200];f = fopen ("C:\Uebung.TXT", "r");
while ( (c = fgetc(f)) != EOF )
{
putchar(c);
}fclose(f);
}
-
Tirone schrieb:
Also so gehts am einfachsten. Das folgende Programm habe ich erzeugt. Ich lade die Datei und gebe sie anschliessend am Bildschirm aus. Jetzt möchte ich ebenfalls am Bildschirm ausgeben wie viele Zeichen die Textdatei hat und wie viele Wörter sie beinhaltet.
// fgetc.cpp - Ein Beispiel für das Lesen aus einer Datei
#include <stdio.h>
#include <iostream.h>
#include <string.h>void main()
{
FILE *f;
int c;
char string[200];f = fopen ("C:\Uebung.TXT", "r");
while ( (c = fgetc(f)) != EOF )
{
putchar(c);
}fclose(f);
}Hallo,
1. Kein void main(). Siehe hier.
2. Dein Code-Schnipsel ist C (abgesehen von dem Header iostream.h, dessen Deklarationen du hier aber sowieso nicht verwendest; Zu iostream.h siehe eventuell auch hier).Ansonsten wurde zwar eigentlich alles bereits gesagt, aber ich wiederhole es gern nochmal :): Jedesmal wenn du ein Zeichen liest, einfach einen counter inkrementieren (oder wie audacia bereits gesagt hat, das ganze in einen zeichen-puffer einlesen und danach mit strlen() die Länge ermitteln). Um die Anzahl der Wörter zu ermitteln siehe audacia's ersten Post.
Am besten nochmal das Thema C++-Streams (sofern du wirklich C++ programmieren willst) sowie Datentypen in einem Tutorial/Buch deiner Wahl nachschlagen
Caipi
-
Danke vielmals für eure Hilfe.
Es ist nicht dass ich programmieren will, sondern ich dass ich es muss von der Schule her.
Ehrlich gesagt interessiert mir leider das Fach nicht, und der Lehrer ist sehr schlecht.Na ja vielleicht schaffe ichs doch noch etwas zu programmieren.
Auf jeden Fall danke.
Gruss
Tirone