Ayuda Por Favor: sobre asignación dinámica de memoria o algo así
Hola
En java tengo algo así:
(sé que no es así... pero interprétenlo por favor)
String cadena = new BufferedReader(new InputStreamReader(System.in)).readLine();
ahora... quiero hacer lo mismo en C o C++...
no sé... estoy de lo mas errado... pero esta es la idea...
char *cadena;
cadena = (char *) malloc(sizeof(strlen(gets(stdin))));
sé que no es valido pero quiero hacer algo así... para no gastar mas memoria de la que necesito...
Soy nuevo en esto... disculpen mi ignorancia
Le suplico q me ayuden por favor
En java tengo algo así:
(sé que no es así... pero interprétenlo por favor)
String cadena = new BufferedReader(new InputStreamReader(System.in)).readLine();
ahora... quiero hacer lo mismo en C o C++...
no sé... estoy de lo mas errado... pero esta es la idea...
char *cadena;
cadena = (char *) malloc(sizeof(strlen(gets(stdin))));
sé que no es valido pero quiero hacer algo así... para no gastar mas memoria de la que necesito...
Soy nuevo en esto... disculpen mi ignorancia
Le suplico q me ayuden por favor
Suponiendo que trabajas en C++, la asignacion dinamica de memoria para una cadena de char es como se especifica:
char *a = new char[len+1];
len = numero de caracteres en la cadena.
+1 = lugar para el valor cero que indica en C el fin de la cadena.
luego de trabajar con "a" de la misma forma que trabajariamos con una cadena estatica, hay que borrarla de la memoria:
delete []a;
los dos parentesis antes de a, es para indicar al compilador que se trata de borrar un array y no un elemento solitario.
char *a = new char[len+1];
len = numero de caracteres en la cadena.
+1 = lugar para el valor cero que indica en C el fin de la cadena.
luego de trabajar con "a" de la misma forma que trabajariamos con una cadena estatica, hay que borrarla de la memoria:
delete []a;
los dos parentesis antes de a, es para indicar al compilador que se trata de borrar un array y no un elemento solitario.
String cadena = new BufferedReader(new InputStreamReader(System.in)).readLine(); ???
Que yo sepa eso no tiene sentido alguno,, ?? esa linea compila ??? , ya que me parece que no ??
Me puedes decir en palabras no en codigo lo que deseas hacer.. ?
Acuerda la codificacion es lo ultimo que se hace en el proceso de programar..
Que yo sepa eso no tiene sentido alguno,, ?? esa linea compila ??? , ya que me parece que no ??
Me puedes decir en palabras no en codigo lo que deseas hacer.. ?
Acuerda la codificacion es lo ultimo que se hace en el proceso de programar..
