• Viernes 8 de Noviembre de 2024, 17:32

Autor Tema:  Copiar nombre de un fichero eliminando la extensión  (Leído 1254 veces)

inmaortigosa

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Copiar nombre de un fichero eliminando la extensión
« en: Miércoles 20 de Mayo de 2009, 17:02 »
0
hola.
Estoy modificando un código. En el código leo dos archivos de datos datos.dat y datos-1.dat, con cada uno de estos archivos hago unos cálculos, y los escribo en otro fichero. El nombre datos.dat lo paso a Name
ifstream file (Name);

   char fileout[1024];
   
   sprintf(fileout,"%s.out",Name);
   

   ofstream out(fileout);
Así que el archivo de resultados me queda como datos.dat.out y el programa con el que leo los datos no me reconoce un archivo con dos extensiones, de manera que quiero que el archivo de salida sea datos.out.
Sé que hay una orden para eliminar las extensiones, pero no la encuentro. Alguien me puede ayudar???

Gracias!!!!!!

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Copiar nombre de un fichero eliminando la extensión
« Respuesta #1 en: Miércoles 20 de Mayo de 2009, 17:29 »
0
Sólo tienes que recorrer la cadena y eliminar todo lo que haya a partir del último punto. Para ello puedes empezar por el final de la cadena y rellenar con ceros hasta encontrar el punto (que también debes sustituír con cero).

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Copiar nombre de un fichero eliminando la extensión
« Respuesta #2 en: Jueves 21 de Mayo de 2009, 02:15 »
0
Una forma muy fácil usando strtok

Código: C
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main() {
  5.     char nombre[] = "datos.dat";
  6.     printf( "nombre: %sn", nombre );
  7.  
  8.     strtok( nombre, "." );
  9.     printf( "nombre: %sn", nombre );
  10.  
  11.     return 0;
  12. }
  13.  
La imaginación es el límite.
Hardware & Software | Mexchip

inmaortigosa

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Copiar nombre de un fichero eliminando la extensión
« Respuesta #3 en: Jueves 21 de Mayo de 2009, 08:33 »
0
Gracias!!!!

Leo_Gutierrez

  • Visitante
Re: Copiar nombre de un fichero eliminando la extensión
« Respuesta #4 en: Jueves 21 de Mayo de 2009, 17:21 »
0
O hacer algo como esto:
Código: C
  1. #include <stdio.h>
  2. int main()
  3. {
  4.     char filename[] = "file.txt";
  5.     for(signed int i = 0; filename[i] != ''; i++)
  6.     {
  7.         if(filename[i] == '.')
  8.         filename[i] = '';
  9.     }
  10.     printf("%s", filename);
  11.     return 0;
  12. }
  13.  
  14.