Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema con ficheros y directorios windows

Estas en el tema de Problema con ficheros y directorios windows en el foro de C/C++ en Foros del Web. Hola a todos, estoy desarrollando este codigo para Windows, que lo que hace es crear 20 carpetas en la unidad C, y tambien crea un ...
  #1 (permalink)  
Antiguo 05/06/2009, 08:30
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 3 meses
Puntos: 2
Problema con ficheros y directorios windows

Hola a todos, estoy desarrollando este codigo para Windows, que lo que hace es crear 20 carpetas en la unidad C, y tambien crea un fichero de texto en cada carpeta, y al final te dice cuanto tiempo ha tardado. El problema es que cuando quiero crear el fichero, me da error aqui sprintf(comando_fich, "C:\\benchmark_\"%d\"\\lectura.txt", i);

Sabeis de que puede tratarse??. Me he equivocado en la sintaxis??. He repasado el codigo mil veces y nada... Pensaba que podia ser problema de permisos pro he llegado a la conclusion de que no.

Os dejo el codigo a continuacion por si alguien sabe de que puede tratarse...

Muchas gracias!!!


#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <time.h>

using namespace std;

int main()
{
FILE *fichero;
char comando_dir[18];
char comando_fich[18];
int con;
clock_t comienzo;

comienzo=clock();

for(int i=0;i<20;i++)
{
sprintf(comando_dir, "md benchmark_\"%d\"", i);
system(comando_dir);

sprintf(comando_fich, "C:\\benchmark_\"%d\"\\lectura.txt", i);
fichero=fopen(comando_fich,"w+");

con=0;

while (con<5000)
{
fputc('a', fichero);
con++;
}
fclose(fichero);

}

cout << "segundos transcurridos: " << (clock()-comienzo)/(double)CLOCKS_PER_SEC << "\n";

system("PAUSE");
}
  #2 (permalink)  
Antiguo 06/06/2009, 08:18
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 19 años, 11 meses
Puntos: 74
Respuesta: Problema con ficheros y directorios windows

Dos cosas:
A. El tamaño de la cadena (18) no es suficiente.
B. Las comillas entre el numero sobran.

Código:
sprintf(comando_fich, "C:\\benchmark_%d\\lectura.txt", i);
Usa cout para ver que contienen las cadenas a las que le des formato.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:49.