Ich habe ein Problem mit meinem C-Programm, das die in meinem Array buffer[ ]
gespeicherte Zeichenfolge nicht ausgibt.printf gibt kein char-Array aus C
Mein Code ist:
#include <stdio.h>
#include <ctype.h>
int main()
{
int textSize = 20;
int index, ch;
int count = 0;
int upperCount = 0;
int lowerCount = 0;
char buffer[textSize];
FILE *pToFile = fopen("input.txt", "r");
if (pToFile != NULL)
{
while (!feof(pToFile))
{
/* Read in a single line from "stdin": */
for(index = 0; (index < textSize) && ((ch = fgetc(pToFile)) != EOF)
&& (ch != '\n'); index++) {
if(islower(ch))
{
buffer[index] = toupper(ch);
count++;
upperCount++;
}
else if(isupper(ch))
{
buffer[index] = tolower(ch);
count++;
lowerCount++;
}
else
{
buffer[index] = (char)ch;
count++;
}
}
}
}
fclose(pToFile);
/* Terminate string with null characters: */
buffer[index] = '\0';
/* Print output out onto screen */
printf("%s\n", buffer);
printf("Read %d characters in total, %d converted to upper-case, %d to lower-case\n",
count, upperCount, lowerCount);
return 0;
}
Die erste printf
Aussage nicht gedruckt wird, aber der zweite Fall ist. Bitte könnte jemand helfen zu erklären, warum dies der Fall ist?
[while 'while (! Feof (pToFile))' ist falsch] (http://stackoverflow.com/questions/5431941/while-feof-file-isal-ways-wrong) – Barmar
Was bedeutet die zweite 'printf rief? Ist die Ausgabe von dem, was es sein sollte? Was ist die Eingabe (die Datei)? Und lies bitte [Warum ist "while (! Feof (datei))" immer falsch?] (Http://stackoverflow.com/questions/5431941/why-is-which-feof-file-always-wrong). –
Oh, und Sie sollten wirklich lernen, wie man einen Debugger verwendet, so dass Sie Schritt für Schritt durch den Code gehen und dann in der Lage sind, das Problem selbst leicht zu finden. –