Article View: es.comp.os.linux.programacion
Article #18264Re: Unas cuantas preguntas:
From: batsman batsman
Date: Sat, 18 Sep 1999 00:00
Date: Sat, 18 Sep 1999 00:00
102 lines
3996 bytes
3996 bytes
In article <7rk74v$6d6$1@batcher.rediris.es>, Julio C�sar Carrascal wrote:
>1. Programar en C++ para X. �Qu� es mejor: KDE/Qt o GNOME/GTK+?
Si programas con GTK "tal cual", usas C. Existen bindings para otros
lenguajes; ahora recuerdo perl, C++, pike, ada95, eiffel, guile,
javascript, objective C, pascal y python. Para C++ en particular
tienes GTK--, VDK y wxWindows/GTK; estos dos �ltimos se pueden usar para
desarrollar aplicaciones multi-plataforma para X11 y windows, si no recuerdo
mal. Mi experiencia con GTK-- no ha sido muy buena que digamos: el egcc
no me lo compilaba (los t�picos "Internal compiler error"), pero eso es culpa
del compilador y no de la librer�a...
>2. �C�mo utilizo el fork?
>le� un ejemplo en el que llamaban a fork y le asignaban el valor que
>regresaba a una variable y luego con un if
> if( proceso = 0 ) {
> // hace una cosa...
> } else {
> // hace otra.
> }
> // hace en los dos procesos....
>
>�Est� bien esto?
S�, aunque queda m�s potito as�:
int pid;
switch ( (pid = fork()) ) {
case 0:
/* c�digo del hijo aqu� */
break;
default:
/* c�digo del padre, pid es el del hijo */
}
>3. �C�mo diferencio si el usuario est� mandando datos por la entrada
>estandard o debo abrir un archivo?
Pruebas con argc y argv. Por ejemplo
int main(int argc, char *argv[])
{
int usa_archivo;
if (argc<2) usa_archivo = 0;
else usa_archivo = 1;
/* bla bla bla */
/* ... y cuando leas datos usas argv[1] como nombre de archivo si
usa_archivo */
}
La cosa se complica si usas getopt (man 3 getopt)...
ejemplo cutre (ojo, no compilado)
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
int main(int argc, char *argv[])
{
int c;
char *in_file = NULL;
char *out_file = NULL;
while ( (c = getopt(argc, argv, "i:o:")) != -1 ) {
switch(c) {
case 'i':
in_file = strdup(optarg);
break;
case 'o':
out_file = strdup(optarg);
break;
}
}
if (!in_file) { /* leer de stdin */
}
else { /* leer del fichero */
}
}
Me ha quedado bastante largo... es que me he cambiado el editor del slrn
por el mcedit y me he animado :-) (�acaso soy el �nico que adora UNIX pero
odia el vi?)
--
_ _
| |__ __ _| |_ ___ _ __ ___ __ _ _ __
| '_ \ / _` | __/ __| '_ ` _ \ / _` | '_ \
| |_) | (_| | |_\__ \ | | | | | (_| | | | |
|_.__/ \__,_|\__|___/_| |_| |_|\__,_|_| |_|
________________________________________________________________
|Visit | http://www.geocities.com/SiliconValley/Vista/2075 |
| | <=> http://come.to/batsman |
| | and http://www.linuxfreak.com/~quickchat |
|Linux (esp): http://www.geocities.com/SiliconValley/Vista/4289 |
|----------------------------------------------------------------|
|Email: | mailto:batsman@geocities.com |
----------------------------------------------------------------
POWERED BY GNU/LINUX DEBIAN 2.01 HAMM
Technical Details
Message-ID:
<fk51s7.0h8.ln@simpsons4ever>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<7rk74v$6d6$1@batcher.rediris.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,5d8a54fcda888e76 X-Google-Attributes: gidf86c8,public From: batsman@simpsons4ever. (batsman) Subject: Re: Unas cuantas preguntas: Date: 1999/09/18 Message-ID: <fk51s7.0h8.ln@simpsons4ever> X-Deja-AN: 526943531 Distribution: es Content-Transfer-Encoding: 8bit References: <7rk74v$6d6$1@batcher.rediris.es> Content-Type: text/plain; charset=iso-8859-1 X-Complaints-To: newsmanager@rediris.es X-Trace: batcher.rediris.es 937727414 20352 212.49.137.165 (19 Sep 1999 07:50:14 GMT) Organization: Debian 2.01 HAMM User Mime-Version: 1.0 NNTP-Posting-Date: 19 Sep 1999 07:50:14 GMT Newsgroups: es.comp.os.linux.programacion