[C con Clase] Leer de stdin una cadena extremadamente larga
Carlos
jsbwyl8 en gmail.com
Mar Jul 18 21:50:17 CEST 2017
Hola Edmundo,
Investigando me tope con varias cosas interesantes tales como:
http://www.linusakesson.net/programming/tty/
y con comandos de linux como ulimit -a , el pipe size es la limitante para
el entrada de un gran numero de caracteres, con esta configuración no tiene
mayor problemas
time(seconds) 3
file(blocks) 102400
data(kbytes) 524288
stack(kbytes) 32768
coredump(blocks) unlimited
memory(kbytes) unlimited
locked memory(kbytes) 64
process 3
nofiles 1024
vmemory(kbytes) 524288
locks unlimited
rtprio 0
La limitante esta asociada al sistema operativo, mas que a la forma de leer
la cadena ;)
Saludos!.
El 10 de julio de 2017, 20:13, Edmundo Cuadriello Narvaez <
ecnarvaez en yahoo.com> escribió:
>
> Holas ! Carlos,
>
> ya te dio Daniel alguna opcion....
>
> A mi se me ocurre que podrias, crear una interface basada en Windows(
> atraves de MFC ) que supla el programa del CMD y te permita recibir el
> numero de caracteres que esperas sean pegados desde el usuario, quiza
> agregando un dialog y a este dialog agregarle un TextBox o un TextArea y
> que puedas pegar toda la informacion y de ahi ya la puedas tomar en bloques
> y enviarla a donde requieras ...
>
> algo similar hacen los SQLBrowsers , reciben queries muy grandes, algunos
> son de 1 GB de informacion (un solo query), y es enviado en pequenos
> "chunks" o bloques que son pegados al recibirlos del otro lado (del server
> quiza) ...y ya ser procesado por el SQL engine ..
>
> es algo que se me ocurre y usando C++, ahora que si lo quieres hacer
> rapido, podrias usar C# para la interface y C++ para la transferencia de
> los datos . :) jejejeje
>
> saludos
>
> ATTE:
> ISC Edmundo Cuadriello Narvaez
> Software Engineer Sr.
> C++, C#, JAVA programmer.
> Tel: 33-33357347
> Cel: 33-13555312
>
> ecnarvaez en yahoo.com
> ecnarvaez en hotmail.com
> "All for Linux, and Linux for every one"
>
> --------------------------------------------
> El vie 30-jun-17, Daniel Pons Monforte <dponsmonforte en gmail.com> escribió:
>
> Asunto: Re: [C con Clase] Leer de stdin una cadena extremadamente larga
> A: cconclase en listas.conclase.net
> Cc: "Carlos" <jsbwyl8 en gmail.com>
> Fecha: viernes, 30 de junio de 2017, 2:05
>
>
> Hola Carlos,
> No es un problema de que instrucción utilizar. Es un
> problema de
> gestionar la información. Sabes el dicho de divide y
> vencerás?
> Pues eso es lo que tienes que gestionar. Muchos
> protocolos de
> comunicación envían paquetes pequeños de datos que
> luego se
> acumulan en grandes cantidades. Pues tu debes hacer lo
> mismo. Un
> millón de caracteres es una burrada de información.
> O haces que tu
> programa lo lea por paquetes o envías la información
> por paquetes.
> Así de simple.
> Suerte
>
>
>
>
>
>
>
> El 30/06/17 a
> las 00:30, Carlos
> escribió:
>
>
>
>
>
>
> Hola a todos, me presento soy Carlos de
> Chile, y tengo
> una inquietud que no he podido resolver,
> espero algún
> experto en c++ me pueda orientar.
>
>
>
>
> Como puedo leer una cadena de texto que contiene
> números
> separados por espacios ej. "1212 123123
> 12312312" , el largo
> total de esta cadena es de mas de 400.000
> caracteres con una
> media aprox de 1.000.000 de caracteres que es
> pegada en una
> consola. Note que hasta 65535 caracteres el
> programa es
> capaz de devolver la entrada, pero ingresando un
> largo mayor
> a eso, el programa deja de responder.
>
>
>
>
> Existe alguna forma de leer estas colosales
> cadenas por la
> entrada estándar con c++?
>
>
>
>
> Saludos!.
>
>
>
>
>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20170718/14a64c57/attachment.html>
Más información sobre la lista de distribución Cconclase