Ich habe gerade angefangen, C Sprache zu lernen und wie das Thema sagt, muss ich einen Code schreiben, der eine andere Textdatei liest und die Anzahl zählt "Zeichen", "Wörter" und "Sätze" bis EOF
erreicht ist. Meine aktuellen Probleme sind, dass ich nicht in der Lage bin, die richtige Ausgabe zu produzieren.C Programmierung: zählt die Anzahl der Zeichen, Wörter und Zeilen aus einer anderen Textdatei
Zum Beispiel einer Textdatei mit dem folgenden Inhalt enthält ...
the world
is a great place.
lovely
and wonderful
ausgeben soll mit 39 Zeichen, 9 Worten und 4 Sätzen und ich irgendwie 50 (Zeichen) 1 (Worte) 1 (Sätzen)
Dies ist mein Code:
#include <stdio.h>
int main()
{
int x;
char pos;
unsigned int long charcount, wordcount, linecount;
charcount = 0;
wordcount = 0;
linecount = 0;
while(pos=getc(stdin) != EOF)
{
if (pos != '\n' && pos != ' ')
{
charcount+=1;
}
if (pos == ' ' || pos == '\n')
{
wordcount +=1;
}
if (pos == '\n')
{
linecount +=1;
}
}
if (charcount>0)
{
wordcount+=1;
linecount+=1;
}
printf("%lu %lu %lu\n", charcount, wordcount, linecount);
return 0;
}
Vielen Dank für jede Art von Hilfe oder einen Vorschlag
Mit 'char pos zu testen; ... while (pos = getc (stdin) ', besser" int pos; "zu verwenden, um die 257 verschiedenen Werte von' fgetc() 'zu unterscheiden - obwohl ich bezweifle, dass dies dein aktuelles Problem ist, – chux
Wo öffnest du die Datei? –
Sie können Ihre Frage bearbeiten, um anzuzeigen, dass Sie erwarten, dass der Benutzer den Beispieltext in stdin eingibt, oder stdin aus dem Code entfernt – jrh