elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Como declarar un char[]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como declarar un char[]  (Leído 5,103 veces)
Stakewinner00


Desconectado Desconectado

Mensajes: 1.426



Ver Perfil WWW
Como declarar un char[]
« en: 20 Enero 2013, 16:58 pm »

Hola, me preguntaba como podría declarar un char[] muy grande. Tengo que abrir un archivo de 1gb y el array debe ser enorme.

Probe con archivos mas pequeños de hasta 57419067 carácteres pero cuando declaro el array
Código
  1. char mens[size];
me salta error y ya no se que puedo hacer.

Gracias por todo.


En línea

0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: Como declarar un char[]
« Respuesta #1 en: 20 Enero 2013, 17:12 pm »

Memoria dinamica? Cual es el error que te salta?


En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
fary


Desconectado Desconectado

Mensajes: 1.076



Ver Perfil WWW
Re: Como declarar un char[]
« Respuesta #2 en: 20 Enero 2013, 17:15 pm »

Reserva el buffer dinámicamente con la función malloc.

En línea

Un byte a la izquierda.
0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: Como declarar un char[]
« Respuesta #3 en: 20 Enero 2013, 20:45 pm »

Reserva el buffer dinámicamente con la función malloc.



Creo que esta en C++, asi que con new.

De todas formas, Stakewinner00, necesitas cargar todo el archivo a la memoria? No puedes operar con el partes?
En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
Stakewinner00


Desconectado Desconectado

Mensajes: 1.426



Ver Perfil WWW
Re: Como declarar un char[]
« Respuesta #4 en: 20 Enero 2013, 21:07 pm »

Creo que esta en C++, asi que con new.

De todas formas, Stakewinner00, necesitas cargar todo el archivo a la memoria? No puedes operar con el partes?

Si, pero lo tengo que pasar a diferentes bucles por lo que me va mejor si lo tengo en una sola variable. Supongo que lo que puedo intentar es hacer algo así char [][]
En línea

dato000


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Re: Como declarar un char[]
« Respuesta #5 en: 21 Enero 2013, 01:31 am »

je precisamente estoy retomando mi libro de C, voy en asignación dinamica de memoria, con el famoso malloc.

Pero esto es algo bueno, exagerado no?? no es posible asignarlo en string obviamente, pero no podria hacerse en subfunciones con varias variables que acumulen partes de memoria?? dividirlo en digamos, 200 mb o algo así?? no puede resultar algo?

je de ahora en adelante voy a estar bien pendiente del foro de C/C++ para pulir conocimientos.
En línea


BatchianoISpyxolo

Desconectado Desconectado

Mensajes: 166


Ver Perfil
Re: Como declarar un char[]
« Respuesta #6 en: 21 Enero 2013, 01:42 am »

char ** linea: equivalente a un array de strings pero de forma dinámica

Lo único que tienes que hacer es alocar memoria mientres necesites hacerlo o, por el contrario, eliminarla cuando no la necesites.

El coste espacial es mayor / elemento almacenado que de manera estática pero te evitas estimar un tamaño, aunque sabiendo que es de un GB y sabiendo el tamaño de línea...

Haz pruebas con algún archivo pequeñito y según los resultados que obtengas aplícalo al de 1GB.
En línea

Puede que desees aprender a programar desde 0: www.espascal.es
Stakewinner00


Desconectado Desconectado

Mensajes: 1.426



Ver Perfil WWW
Re: Como declarar un char[]
« Respuesta #7 en: 21 Enero 2013, 15:09 pm »

Creo que al final si que tendre que intentar hacerlo con diferentes chars.

Una pregunta, cual es el tamaño máximo de un char[]? Es para hacer algo tipo

Código
  1. if (size>=tamaño_maximo) {
  2. declarar otro char
  3. }
En línea

85

Desconectado Desconectado

Mensajes: 206



Ver Perfil WWW
Re: Como declarar un char[]
« Respuesta #8 en: 22 Enero 2013, 03:01 am »



Código:
char asd[] = { 'H','o','l','a',' ','M','u','n','d','o',0};

Nótese la terminación en cero.


atte

En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
error al declarar una matriz como publica en v.b
Programación Visual Basic
e_nygma 1 6,599 Último mensaje 28 Octubre 2007, 22:01 pm
por HaDeS, -
Lectura de matríz de char como char** o DWORD*
Programación C/C++
david_BS 3 3,577 Último mensaje 20 Febrero 2012, 20:49 pm
por Eternal Idol
COMO DECLARAR ARREGLOS EN JAVA
Java
jrkikey 3 3,032 Último mensaje 27 Noviembre 2012, 09:34 am
por тαптяα
Como pasar una cadena char a hexadecimal por argumento a un constant char?
Programación C/C++
ahaugas 3 5,689 Último mensaje 13 Enero 2013, 14:09 pm
por ahaugas
¿Cómo declarar un arreglo e ingresarle datos?
.NET (C#, VB.NET, ASP)
Juancho25 1 3,080 Último mensaje 4 Junio 2013, 20:56 pm
por El Benjo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines