Voiko tämän toteuttaa jotenkin fiksummin? Tarkoituksena on siis poistaa tekstitiedostosta kaikki tyhjät rivit, ja jotka alkavat #-merkillä.
while ((c = fgetc(tiedosto)) != EOF) {
if (c == '#' || c =='\n') {
while ((c = fgetc(tiedosto)) != '\n') {}
}
else {
printf("%c",c);
while ((c = fgetc(tiedosto)) != '\n') {
printf("%c",c);
}
printf("\n");
}
}
while ((c = fgetc(tiedosto)) != EOF) {
if (c == '#' || c =='\n') {
while ((c = fgetc(tiedosto)) != '\n') {}
}
else {
printf("%c",c);
while ((c = fgetc(tiedosto)) != '\n') {
printf("%c",c);
}
printf("\n");
}
}
Vastaukset 1
Vanhimmat
char buffer[4000];
while (!feof(fp))
{
buffer[0] = '\0';
fgets(buffer,sizeof(buffer),fp);
if(buffer[0] != '#') puts(buffer);
}
eli rivin tulee olla lyhyempi kuin puskurin koko