hallo,
ik heb hier een stuk programma die er voor moet zorgen dat als je een text file in leest met witte regels tussen de tekst dat het programma die witte regels verwijdert en die weg zet in een ander text file (uitvoer). alleen mijn probleem is hij haalt maar 1 regel weg en haalt bijvoorbeeld geen 2 witte regels weg.
hier de code:
#include<stdio.h>
#include<string.h>
#define LEZEN "r"
#define SCHRIJVEN "w"
#define REGELLENGTE 256
#define INCLUDE "#include"
void include_file(FILE *, FILE *);
main(int argc, char *argv[]) {
FILE *fpbron, *fpdoel;
if(argc != 3) {
printf("Gebruik: %s file1 file2\n", argv[0]);
}
else if((fpbron = fopen(argv[1], LEZEN)) == NULL) {
printf("%s: kan %s niet openenen\n",argv[0], argv[1]);
}
else if((fpdoel = fopen(argv[2], SCHRIJVEN)) == NULL) {
printf("%s: kan %s niet openenen\n", argv[0], argv[2]);
fclose (fpbron);
}
else {
include_file(fpbron, fpdoel);
fclose(fpbron);
fclose(fpdoel);
}
system("PAUSE");
}
void include_file(FILE *fpin, FILE *fpuit) {
char regel[REGELLENGTE], woord1[REGELLENGTE], woord2[REGELLENGTE];
FILE *fp;
while(fgets(regel, REGELLENGTE, fpin) != NULL)
if (fgetc(fpin) > 0) {
if(sscanf(regel, "%s %s", woord1, woord2) != 2) {
fputs(regel, fpuit);
}
else if(strcmp(woord1, INCLUDE) != 0) {
fputs(regel, fpuit);
}
else if ((fp = fopen(woord2, LEZEN)) = NULL) {
printf("Kan %s niet openenen\n", woord2);
}
else {
include_file(fp,fpuit);
fclose(fp);
}
}
}
mvg,
henk
ik heb hier een stuk programma die er voor moet zorgen dat als je een text file in leest met witte regels tussen de tekst dat het programma die witte regels verwijdert en die weg zet in een ander text file (uitvoer). alleen mijn probleem is hij haalt maar 1 regel weg en haalt bijvoorbeeld geen 2 witte regels weg.
hier de code:
#include<stdio.h>
#include<string.h>
#define LEZEN "r"
#define SCHRIJVEN "w"
#define REGELLENGTE 256
#define INCLUDE "#include"
void include_file(FILE *, FILE *);
main(int argc, char *argv[]) {
FILE *fpbron, *fpdoel;
if(argc != 3) {
printf("Gebruik: %s file1 file2\n", argv[0]);
}
else if((fpbron = fopen(argv[1], LEZEN)) == NULL) {
printf("%s: kan %s niet openenen\n",argv[0], argv[1]);
}
else if((fpdoel = fopen(argv[2], SCHRIJVEN)) == NULL) {
printf("%s: kan %s niet openenen\n", argv[0], argv[2]);
fclose (fpbron);
}
else {
include_file(fpbron, fpdoel);
fclose(fpbron);
fclose(fpdoel);
}
system("PAUSE");
}
void include_file(FILE *fpin, FILE *fpuit) {
char regel[REGELLENGTE], woord1[REGELLENGTE], woord2[REGELLENGTE];
FILE *fp;
while(fgets(regel, REGELLENGTE, fpin) != NULL)
if (fgetc(fpin) > 0) {
if(sscanf(regel, "%s %s", woord1, woord2) != 2) {
fputs(regel, fpuit);
}
else if(strcmp(woord1, INCLUDE) != 0) {
fputs(regel, fpuit);
}
else if ((fp = fopen(woord2, LEZEN)) = NULL) {
printf("Kan %s niet openenen\n", woord2);
}
else {
include_file(fp,fpuit);
fclose(fp);
}
}
}
mvg,
henk