hola, una consulta...en una parte de un ejercicio me pide que divida un archivo por medio de saltos de linea, el usuario debe ingresar en cuantas partes quiere dividir el archivo, el caso es que no se porque no puedo imprimir el salto de linea donde yo quiero, el código que hice es el siguiente:
#include<stdio.h>
int main(){
FILE *fp1;
int n,a=0, suma=0, cant/*cantidad de datos a agarrar por partes*/;
char c;
char entrada[100];
printf("Ingrese el nombre del archivo origen:\n");
scanf("%s",entrada);
if((fp1=fopen(entrada,"a+"))==NULL){
printf("\nError al abrir el archivo %s",entrada);
return 0;
}
printf("\n ¿en cuantas partes desea partir el archivo?: ");
scanf("%d", &n);
c=fgetc(fp1);//Acá calculo cuantos bytes tiene el archivo;
while (!feof(fp1)){
a=sizeof(c);
suma=suma+a;
a=0;
c=fgetc(fp1);
}
cant=suma/n;//cantidad de bytes que debo agarrar para cada parte.
suma=0;
rewind(fp1);
c=fgetc(fp1);// acá deberia imprimir el enter cuando alcancé la cantidad de bytes requeridos para una parte;
while(!feof(fp1)){
a=sizeof(c);
suma = suma+a;
if (suma==cant){
fprintf(fp1, "\n");
suma=0;
a=0;
}
a=0;
c=fgetc(fp1);
}
fclose(fp1);
}
#include<stdio.h>
int main(){
FILE *fp1;
int n,a=0, suma=0, cant/*cantidad de datos a agarrar por partes*/;
char c;
char entrada[100];
printf("Ingrese el nombre del archivo origen:\n");
scanf("%s",entrada);
if((fp1=fopen(entrada,"a+"))==NULL){
printf("\nError al abrir el archivo %s",entrada);
return 0;
}
printf("\n ¿en cuantas partes desea partir el archivo?: ");
scanf("%d", &n);
c=fgetc(fp1);//Acá calculo cuantos bytes tiene el archivo;
while (!feof(fp1)){
a=sizeof(c);
suma=suma+a;
a=0;
c=fgetc(fp1);
}
cant=suma/n;//cantidad de bytes que debo agarrar para cada parte.
suma=0;
rewind(fp1);
c=fgetc(fp1);// acá deberia imprimir el enter cuando alcancé la cantidad de bytes requeridos para una parte;
while(!feof(fp1)){
a=sizeof(c);
suma = suma+a;
if (suma==cant){
fprintf(fp1, "\n");
suma=0;
a=0;
}
a=0;
c=fgetc(fp1);
}
fclose(fp1);
}