SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: Alfonsos1 en Sábado 15 de Enero de 2011, 20:42

Título: concatenar texto
Publicado por: Alfonsos1 en Sábado 15 de Enero de 2011, 20:42
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?
Título: Re: concatenar texto
Publicado por: ProfesorX en Sábado 15 de Enero de 2011, 23:19
Utiliza las funciones strcat(), strncat()

Recomiendo la segunda (strncat()).

Mas infromacion:

http://www.cplusplus.com/reference/clibrary/cstring/strncat/

Saludos :)
Título: Re: concatenar texto
Publicado por: Alfonsos1 en Domingo 16 de Enero de 2011, 00:44
intente usar esa funcion:

Código: C++
  1. char asd[15];
  2. asd="Runas/R";//invalid combertion of 'constant char[8]' from 'char[15]'
  3.  strncat(asd,miarray,3);
  4.  

pero me sale un error en la linea que puse el comentario
Título: Re: concatenar texto
Publicado por: Munire en Domingo 16 de Enero de 2011, 00:51
no puedes asignar una cadena de texto asi
 char asd[15];
 asd="Runas/R";

puesto que "asd" no es constante. tienes que hacerlo elemento a elemento
asd[0]='R';
asd[1]='u';
...

o con la funcion strcpy()
strcpy(asd, "Runas/R");
Título: Re: concatenar texto
Publicado por: ProfesorX en Domingo 16 de Enero de 2011, 01:18
Como te dijeron antes, no puedes asignar cadenas asi:

Código: C++
  1. micadena = "Mi texto";
  2.  

Solo es permitido hacerlo en la declaracion inicial de variables:

Código: C++
  1.  
  2.     char micadena[30] = "Mi texto";
  3.  
  4.  

La forma correcta es

Código: C++
  1. strcpy(micadena, "Mi texto");
  2.  

O si estas utilizando C++ puedes utilizar la clase string

Informacion sobre strcpy:

http://www.cplusplus.com/reference/clibrary/cstring/strcpy/

Informacion sobre la clase string:

http://www.cplusplus.com/reference/string/string/ (http://www.cplusplus.com/reference/string/string/" onclick="window.open(this.href);return false;)

Por tu preguntas me doy cuenta ademas que no tienes ni idea de programacion en C/C++, recomiendo entonces que leas un poco mas sobre C/C++ o bajes algun curso en internet, en especial sobre arreglos (array) y cadenas (string) en C /C++

Saludos :)
Título: Re: concatenar texto
Publicado por: Geo en Miércoles 19 de Enero de 2011, 07:56
También puedes usar sprintf:

Código: C
  1. char array[ 4 ] = "000";
  2. char archivo[ 16 ];
  3.  
  4. sprintf( archivo, "R%s.txt", array );
  5.  
  6. printf( "Archivo a abrir: %sn", archivo );
  7.