Autor
|
Tema: copiar ciertos valores de una variable en otra variable en lenguaje C. (Leído 6,465 veces)
|
fafafa01
Desconectado
Mensajes: 82
|
Hola, como dice el titulo, lo que quiero hacer es: copiar de una variable entera cierta información y guardarla en otra variable. el problema surge al poner en la variable entero una fecha como la que sigue int d, a=25-02-1998;
quisiera que la función le saque el guion medio a esa variable: d=25021998;
gracias por sus respuestas y saludos.
|
|
|
En línea
|
|
|
|
AlbertoBSD
Programador y
Moderador Global
Desconectado
Mensajes: 3.696
🏴 Libertad!!!!!
|
a=25-02-1998
Tu necesitas aprender a manejar cadenas.
la instruccion que muestras es 25-02 = 23-1998 = -1975
😆😆😆
Necesitas hacer substrings y cada que encuentres un guion lo sustitulles.
|
|
|
En línea
|
|
|
|
HardForo
Desconectado
Mensajes: 219
HardForo.com
|
Podrias hacerlo con la funcion strok()
|
|
|
En línea
|
HardForo: foro de Hardware y programación Se buscan Mods y colaboradores *
|
|
|
fafafa01
Desconectado
Mensajes: 82
|
He logrado separar cada numero en un arreglo y deshacerme de los guiones, pero ahora cuando sumo la primer celda del arreglo (ej: 2) con la segunda celda del arreglo (ej: 0), no da 20. ¿hay alguna forma de sumar esos enteros 2+0=20? Hola, como dice el titulo, lo que quiero hacer es: copiar de una variable entera cierta información y guardarla en otra variable. el problema surge al poner en la variable entero una fecha como la que sigue int d, a=25-02-1998;
quisiera que la función le saque el guion medio a esa variable: d=25021998;
gracias por sus respuestas y saludos.
|
|
|
En línea
|
|
|
|
HardForo
Desconectado
Mensajes: 219
HardForo.com
|
Si solo quieres sacar por pantalla juntos ciertos valores....... es muy simple: cout << a << b << c << d .... << ... << endl;
Si verdaderamente necesitas concatenar porque vas a devolver eso en una funcion, etc... #include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> using namespace std; // se puede generalizar char* concatnum(int a, int b){ char as[10], bs[10]; static char out[30]; // podria devolver un "string" (char*) o un entero return out; } int main(void){ cout << concatnum(2,0); }
EDIT: La funcion que puse no tiene verdadera utilidad (solo te sirve para mirar como funcionan strcpy y strcat) porque solo recibe 2 valores, iba a generalizar pero me tuve que ir a dormir y otro compañero ya te dio una respuesta mejor ahora.
|
|
« Última modificación: 19 Abril 2016, 14:28 pm por boctulus »
|
En línea
|
HardForo: foro de Hardware y programación Se buscan Mods y colaboradores *
|
|
|
xiruko
Desconectado
Mensajes: 438
|
Hola, Como en programación hay mil maneras de hacer una misma cosa, te dejo otra opción para juntar un array de enteros en uno solo. Ten cuidado con el valor máximo que puede tomar un entero, ya que con esta función es muy fácil pasarlo si se utiliza mal, y ahora mismo no hace ningún tipo de verificación. #include <stdio.h> #include <string.h> int join(int *arr, size_t arr_size) { int result, i; char aux[256]; for (i=0; i<arr_size; i++) { } return result; } int main(void) { int arr[4] = {1, 2, 3, 4}; int result = join(arr, 4); return 0; }
Saludos!
|
|
|
En línea
|
|
|
|
HardForo
Desconectado
Mensajes: 219
HardForo.com
|
Compañero @xiruko : te consulto por el uso de sscanf() con "%d"
Tu sabras si es mas eficiente que usar atoi() ?
|
|
|
En línea
|
HardForo: foro de Hardware y programación Se buscan Mods y colaboradores *
|
|
|
xiruko
Desconectado
Mensajes: 438
|
Compañero @xiruko : te consulto por el uso de sscanf() con "%d"
Tu sabras si es mas eficiente que usar atoi() ?
Hola, Es más eficiente atoi debido a que se ahorra parsear la cadena buscando los especificadores como hace sscanf. Usé sscanf para aportar otras funciones distintas a las que ya habían en el tema. Aquí puedes encontrar una comparación muy buena entre ambas funciones: http://stackoverflow.com/questions/3420629/convert-string-to-integer-sscanf-or-atoiSaludos!
|
|
|
En línea
|
|
|
|
HardForo
Desconectado
Mensajes: 219
HardForo.com
|
Gracias, me pareció interesante tu codigo y el enlace a StackOverflow
|
|
« Última modificación: 19 Abril 2016, 18:56 pm por boctulus »
|
En línea
|
HardForo: foro de Hardware y programación Se buscan Mods y colaboradores *
|
|
|
geeke
Desconectado
Mensajes: 93
|
atoi() es inseguro, evita utilizarlo en lo posible a no ser en casos sencillos y controlados; esta función no proporciona ninguna funcionalidad para el tratamiento de errores. El problema más importante con esta es que conduce a un comportamiento indefinido en caso de desbordamiento; por eso es preferible usar strtol una alternativa mucha mas segura por obvias razones.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[batch] comparar una variable con varios valores
« 1 2 »
Scripting
|
moikano→@
|
13
|
16,374
|
22 Diciembre 2010, 19:25 pm
por moikano→@
|
|
|
Adicionar valores a una variable con ollyscript
Ingeniería Inversa
|
.:UND3R:.
|
4
|
2,941
|
21 Octubre 2011, 04:58 am
por Иōҳ
|
|
|
¿Es posible intercambiar dos valores sin usar variable auxiliar?
Programación C/C++
|
DickGumshoe
|
6
|
14,361
|
14 Noviembre 2011, 15:21 pm
por DickGumshoe
|
|
|
MOVIDO: Asignar un valor a una variable(ScriptA)Obtener esa variable (ScriptB)-UNITY c#
Scripting
|
Eleкtro
|
0
|
2,405
|
8 Octubre 2013, 17:49 pm
por Eleкtro
|
|
|
Recomendación de tipo de variable para sumatoria de valores
Programación Visual Basic
|
Shell Root
|
1
|
1,474
|
26 Enero 2016, 23:19 pm
por Eleкtro
|
|