30/03/2008, 17:18
|
| | Fecha de Ingreso: marzo-2008
Mensajes: 17
Antigüedad: 16 años, 9 meses Puntos: 0 | |
Re: Quitar Todos Los Espacios, Tabs A Un Archivo lo que esta marcado con negro se lo inclui yo, supuestamente si encuentra un espacio un parentesis en la linea pone un espacio anyes y despues del parentesis sino copia tal cual la linea
#include <stdio.h>
#include <conio.h>
#define MAXLINE 1024
int main(void)
{
FILE *pIn;
FILE *pOut;
long nR;
long nW;
char szLine[MAXLINE],szLine2[MAXLINE];
pIn = fopen("entrada.c", "r");
pOut = fopen("salida.c", "w");
if(pIn == NULL)
printf("No se pudo abrir el archivo de entrada\n");
if(pOut == NULL)
printf("No se pudo abrir el archivo de salida\n");
if(pIn != NULL && pOut != NULL) // Esto es muy importante
{
while(!feof(pIn)) // Continuar mientras haya caracters para leer
{
if(fgets(szLine, MAXLINE, pIn)) // Si tiene exito...
{
// nR y nW, siempre deber empezar con cero
nR = 0;
nW = 0;
while(szLine[nR] != '\0')
{
while(szLine[nR] == ' ' || szLine[nR] == '\t') // Avanzar nR mientras sea un espacio o un TAB
nR++;
szLine[nW++] = szLine[nR++]; // Copiar, y avanzar nR y nW
}
// Truncar la línea de salida (Es necesario)
szLine[nW] = '\0';
// Guardar línea
}
}
} int i=0;
while( szLine[i] != '\0'){
if(szLine[i] == ')'){
szLine2[i]='0';
szLine[i+1]=szLine[i];
szLine[i+2]='0';
}else{
szLine2[i]=szLine[i];}
fputs(szLine2, pOut);}
printf("Fin...\n");
if(pIn) // Esto es muy importante
fclose(pIn);
if(pOut) // Esto es muy importante
fclose(pOut);
_getch();
return 0;
}
/*
Espero que haya quedado claro, sino abisa, e intentaré explicarlo mejor.
*/
/*
Recordá, el archivo de entrada debe existir.
*/ |