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

ayuda

Estas en el tema de ayuda en el foro de C/C++ en Foros del Web. en la funcion: fopen("R000.txt", "r"); nesesito que el numero (000) dependa de un array: char miarray[4]="000"; osea que quede algo asi: fopen("R"+miarray+".txt", "r"); ¿como hago ...
  #1 (permalink)  
Antiguo 15/01/2011, 13:46
 
Fecha de Ingreso: septiembre-2010
Mensajes: 137
Antigüedad: 13 años, 7 meses
Puntos: 0
ayuda

en la funcion:
fopen("R000.txt", "r");
nesesito que el numero (000) dependa de un array:
char miarray[4]="000";

osea que quede algo asi:
fopen("R"+miarray+".txt", "r");

¿como hago eso?

Última edición por Alfonso1; 15/01/2011 a las 14:22
  #2 (permalink)  
Antiguo 15/01/2011, 17:44
Avatar de Munire  
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: ayuda

char nombre[20];
char miarray[4]="000";

nombre[0]='R';
nombre[1] = miarray[0];
nombre[2] = miarray[1];
nombre[3] = miarray[2];
nombre[4] = 't';
nombre[5] = 'x';
nombre[6] = 't';
nombre[7] = 0; //indica el final

fopen(nombre, "r");


hay otra forma mas rapida. en vez de poner uno a uno los elementos, hay una funcion que añade una cadena al final de la otra. como un strcpy() pero copiandolo al final. Es strcat();


char nombre[20];
char miarray[4]="000";
char text[4]="txt0";

nombre[0]='R';
strcat(nombre, miarray);
strcat(nombre, text);
fopen(nombre, "r");

Última edición por Munire; 15/01/2011 a las 17:53 Razón: corrijo un error
  #3 (permalink)  
Antiguo 18/01/2011, 08:21
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 11 meses
Puntos: 73
Respuesta: ayuda

Código C:
Ver original
  1. char nombre[20];
  2.  
  3. for (i=0; i<999; i++)
  4. {
  5.     sprintf(nombre, "R%03d.txt", i);
  6.     printf("%s\n", nombre);
  7. }
esto te va a imprimir

R000.txt
R001.txt...

y así hasta R999.txt

Etiquetas: Ninguno
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:28.