mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: chiamare un programma e passargli una stringa

... su windows.
su linux esiste il pipe, e su windows?
Il problema è questo: chiamo il programma che mi serve con
	system("gnuplot.exe");
che è una specie di console. Poi però gli devo passare il comando, e 
come faccio?
Ciao!
matteo

Matteo D. ha scritto:

Una possibilità è mettere tutti i comandi su un file "input" e fare la 
chiamata
system("gnuplot.exe < input");
Il DOS è nato senza multiprocessi, quindi le pipe venivano gestite con 
un file temporaneo. Non so se le cose sono cambiate...
E.

?manu* ha scritto:

Grazie!!!
ecco ho risolto così:
void call_gnuplot(void)
{
     FILE* file;
     file = fopen("input","w+");
     if(file==NULL)
     {
         printf("Errore: impossibile salvare il file input\n");
         exit(1);
         system("PAUSE");
     }
     fprintf(file, "plot 'func.dat' using 1:2 with lines, 'func.dat' 
using 1:3 with lines");
     fprintf(file, "\npause -1");
     fclose(file);
     //system("pgnuplot.exe");
     system("pgnuplot.exe < input");
}

 }
Perche' complicarsi la vita?
In windows non funzionano le spawn ?
B.

 
ciao!
matteo

 e cosa sono?
http://en.wikipedia.org/wiki/Spawn_(computing)
ahh, ok adesso provo ad usare la spawn()... è in windows.h giusto?
ciao!

Matteo D. ha scritto:

Le spawn sono una famiglia di funzioni per eseguire
programmi da altri programmi. Sono presenti nelle
librerie C/C++ Unix da tempo immemore.
Se non vado errato Microsoft al solito si e' fatta
il suo set di funzioni che dovrebbero essere
in <process.h>!!!
Le funzioni specifiche microsoft sono nominate
come _spawnl, _spawnl, _wspawnl,_tspawnle _spawnle
etc...
Poiche' sono davvero molte, cerca di utilizzare
il set 'standard' ed evita quelle troppo legate
alla piattaforma.
La flag da specificare e' abbastanza importante
e determina come viene eseguito il programma
attivato con la spawn: con l' opzione _P_DETACH
puoi attivare ad esempio il programma in background
rispetto alla applicazione principale: se usi _P_WAIT
invece la tua applicazione si sospende fino al termine
del programma attivato via spawn, etc.....
B.

Su Windows non solo ci sono le pipes, ma puoi anche aprire un
descrittore file nel processo padre e farlo ereditare al processo
figlio, cosi' puoi implementare la redirezione dello standard input
nel figlio.
Newsgroup: it.comp.lang.c
Titolo: Ancora sulle stringe...

Salve, ho ancora alcuni problemi con le stringhe...
Leggendo il manuale (K&R) ho capito che str[] e *str non sono la stessa
cosa, ma non ho ancora capito come fare a copiare una stringa del tipo str[]
in una del tipo *str.
Domanda: perche' il codice qui sotto stampa solo il primo OK? Come si fa a
verificare che str2 e' "ciao", o a copiare str2[] in *str1?
main () {
 char *str1="ciao", str2[]="ciao";
 if (str1=="ciao") printf("OK");
 if (str2=="ciao") printf("OK");
}
Ancora grazie
Enrico

  if (str2=="ciao") printf("OK");
Malissimo, stai confrontando solo gli indirizzi di memoria, non i contenuti.
La prima ritorna vero perche', in seguito alle ottimizzazioni, la seconda
stringa "ciao" combacia con la prima che hai usato per inizializzare str1.
Per confrontare le stringhe in C devi usare strcmp() e strncmp().
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

 
...
Stampa il primo OK... panico! Allora assumendo che il compilatore ha 
fatto ultraottimizzazioni... mi riprendo.
il confronto fra stringhe va fatto con la funzione strcmp(s1, s2)... se 
confronti con il simbolo "==" in realtà confronti SOLO IL PUNTATORE!!!! 
e come se invece di confrontare il contenuto di uno scatolo, ti limiti a 
vedere solo l'indirizzo stampigliato fuori... non hai confrontato il 
contenuto! OK?
Ciao

 char *str1="ciao"
str1 punta ad una stringa costante ("ciao") e le stringhe costanti sono
aree di memoria su cui NON puoi scrivere.
Per scrivere in str1 devi assegnargli un blocco di memoria regolarmente
allocato. 

Grazie mille, ora mi e' tutto piu' chiaro.
Enrico

a tutti, ovviamente.
Newsgroup: it.comp.lang.c
Titolo: Dubbio: Chiamata per Valore

Salve a tutti,
	mi piacerebbe proprio togliermi questo dubbio: in C, da quello che so, i
parametri vengono passati per valore. Vale a dire se ho:
 
main()
...
int c=1;
...
Per_dieci(c);   /* che è una funzione che moltiplica l'argomento per 10 */
...
printf("%d", c);  /* ottengo come output il valore iniziale di c (1) */
Cito dal manuale (Kernighan & Ritchie): "...La stessa cosa vale per i
parametri delle funzioni i quali, [...], non sono altro che delle variabili
locali.". Dunque, dico io, visibili solo all'interno della funzione stessa.
Il problema è con i puntatori. Consideriamo la costruzione di una lista:
struct elemento { int val; struct elemento *prossimo};
typedef struct elemento cella;
main()
...
cella *testa;
testa=(cella *) malloc(sizeof(cella));
...
Crea(testa);  /* definita come: void Crea(cella *ptr){...}. Ha l'unico
parametro ptr che alla chiamata dovrebbe assumere il valore di testa */
E testa dovrebbe restare invariato, invece testa è ora il primo elemento
della lista - perché? Ho provato col debugger e ho visto che quando viene
chiamata Crea, ptr assume lo stesso indirizzo di testa - è veramente una
chiamata per valore?
Ho problemi con la posta - rispondete sull'NG - grazie a tutti e Ciao!

I parametri sono sempre passati per valore, ma se il valore che passi e' un
puntatore ad una variabile e' chiaro che la funzione scrivendo nel puntatore
puo' andare a modificare quella variabile.
Antonio Donatiello.

 Crea(testa);
Hai omesso la parte più interessante del codice: Crea().
Comunque, anche un puntatore viene passato per valore, solo che in
questo caso il valore è un indirizzo di memoria, non quello che tale
indirizzo contiene.
Ciao, julio di egidio
ju...@webzone.it

 parlava di Re: Dubbio: Chiamata per Valore
e ha scritto:

Si, credo di aver capito ora. Ho avuto la conferma di quello che presumevo.
Grazie a tutti  e ciao.

Newsgroup: it.comp.lang.c
Titolo: porta seriale

Qualcuno saprebbe dirmi come e' fatta la porta seriale dietro ad un
classico pc compatibile?
Ovvero, dove posso trovare uno schema che mi dica a cosa corrispondono
i vari piedini ?
E qualche info su come come leggere lo stato dei piedini) in C?
Ringrazio tutti,
Alberti

http://www.senet.com.au/~cpeacock/
Newsgroup: it.comp.lang.c
Titolo: Calcolo della radice n-esima

Salve, qualcuno di voi sà indicarmi il codice per una funzione C che
sia in grado di calcolare la radice n-esima di un numero intero o
floating point?

Entro nella stanza e...cosa ti vedo ? sette lettini.
Su uno di essi c'era scritto Serial # 19781010 :
#Salve, qualcuno di voi sà indicarmi il codice per una funzione C che
#sia in grado di calcolare la radice n-esima di un numero intero o
#floating point?
#include <math.h>
double radn( double numero, double n, int *err )
{
       if (n != 0.0 )
       {
          *err = 0 ;
          return exp(1/n*log(numero)) ;
       } else *err = 1 ;
}
main()
{
    int errore ;
    double d = radn( 27, 3, &errore ) ;
    ...
}
Andrea Laforgia        (
andrea_...@bigfoot.com
)
----------------------------------------------------
There is nothing better for understanding a kangaroo
than seeing it jump.
----------------------------------------------------

 floating point?
<CODE>
	res=pow(x,1/n);
</CODE>
	Alla prossima,
		Marco

Salve, qualcuno di voi sà indicarmi il codice per una funzione C che


you wrote :
#Se n e' un intero puoi provare a fare una funzione ricorsiva... del tipo:
Non puoi fare cosi'.
L'indice della radice e' del tipo 1/n.


...


    Ops... scusa hai ragione tu! :) Intendevo dire che credo si possa fare
anche con double.


Newsgroup: it.comp.lang.c
Titolo: NUMERI CASUALI

come posso ottenere un numero casuale compreso tra un valore iniziale ed uno
massimo??

 massimo??
Per numeri da offset a offset+n
rand() % n + offset
ciao

 rand() % n + offset
ho provato con una macro del genere:
#define random(x,y) rand() % (x - y) + x
il problema è che mi genera sempre la stessa sequenza di numeri, ogni volta
che chiamo il mio programma. come faccio  renderli veramente casuali??

 che chiamo il mio programma. come faccio  renderli veramente casuali??
ovvio che ti genera gli stessi numeri: ogni volta riparti dallo stesso
seme. Il computer non è in grado di generare numeri casuali, non può certo
tirare un dado o una moneta. Usa degli algoritmi che cercano di
"mascherare" le sequenze di numeri e di farli apparire cone casuali.
Prima di chiamare rand devi impostare il seme con srand, in questo modo
l'agoritmo si modifica quel tanto che basta per dare sequenze diverse. Di
solito si imposta il seme usando l'ora e/o la data.

 ha scritto nel messaggio
news:pan.2003.05.01....@nospam.vi.it...

sotto linux non e' piu' facile leggere dalla pipe rand o srand ? o
direttamente le funzioni random in linux vanno a pescare numeri random dalle
pipe sicure di sistema senza generare questo tipo di prevedibilita' di
generazione random ?

chiaramente ogni volta che si lancia l'eseguibile il programma deve
inizializzare il seme. tipicamente il pezzo di codice è questo:
seed= time(NULL); /* nella variabile intera seed si registra un numero
intero*/
srand(seed);  /* il seme viene inizializzato col valore di seed */
rand()   /* adesso il generatore produce una sequenza */
chiaramente s erilanci il programma il codice , contenendo le
istruzioni sovrastanti reinizializza il seme con un intero diverso e
la sequenza sara diversa.
ciao michele
Newsgroup: it.comp.lang.c
Titolo: Aiuto per makefile

Salve a tutti,
spero di non essere OT.
Vorrei utilizzare un solo makefile per creare due eseguibili, e' possibile?
Se sě, come...?
Mi spiego meglio.
Ho due programmi scritti in C:
Il primo (paperino) č composto dai file: qui.c quo.c qua.c e i relativi
header qui.h, quo.h e qua.h.
Il secondo (topolino) č composto dai file: pippo.c pluto.c pippo.h e pluto.h
Vorrei realizzare un solo makefile che una volta lanciato mi dia i due
eseguibili paperino e topolino.
Saluti
Enrico

 due eseguibili paperino e topolino.
Te lo do per il Make classico di Unix, senza estensioni GNU, cosi' e' piu'
facile da capire. Se usi un Makefile sotto Windows i concetti sono gli
stessi, ma potrebbero esserci delle differenze nella forma.
paperino: qui.o quo.o qua.o
    gcc -o paperino qui.o quo.o qua.o
topolino: pippo.o pluto.o
    gcc -o pippo.o pluto.o
# Per tutti i .o creati le rispettive regole e le dipendenze dai .c e dai .h 
all:
    make paperino
    make topolino
Puoi dire a Make di procedere in modo silenzioso volendo.
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

 eseguibili paperino e topolino.
Beh (andando a braccio) potresti fare una cosa tipo
all: paperino topolino
topolino: pippo.c pluto.c
	gcc -o topolino pippo.c pluto.c
e via cosi`.
Molto rozzo, ma l'idea dovrebbe esser giusta.
-- 
 Francesco Romani - Ikitt  | Describe your vision, the meaning is missing |
*** mailserver: 
freemail.it
| Won't anybody listen?                        |
Newsgroup: it.comp.lang.c
Titolo: Installazione JDK

Ho installato il JDK della sun sulla mia macchina Linux (Slackware 8.1), 
ma quando vado a compilare un programma:
java nomeprogramma.java
mi dice:
Error: could not find libjava.so
Error: could not find Java 2 Runtime Environment.
Questo invece e' il mio file /etc/ld.so.conf:
/usr/local/lib
/usr/X11R6/lib
/usr/i386-slackware-linux/lib
/opt/kde/lib
/usr/lib/qt/lib
/usr/lib
Ovviamente libjava.so e' sia in /usr/lib, sia in /usr/local/lib.
Come risolvo il mio problema?
Maldoror.
-- 
"L'Italia sta marcendo in un benessere che e' egoismo, stupidita', 
incultura, pettegolezzo,
moralismo, coazione, conformismo: prestarsi in qualche modo a 
contribuire a questa marcescenza
e', ora, il fascismo."
Pier Paolo Pasolini, 1972

Newsgroup: it.comp.lang.c
Titolo: Strutture dinamiche

Salve,
   ho un semplicissimo problema:
come si utilizzano le strutture allocandole dinamicamente utilizzando malloc?
 Grazie,
 Fidelio
--
Posted from 
mta2.iol.it
 [195.210.91.152]
via Mailgate.ORG Server - 
http://www.mailgate.org

...


come si utilizzano le strutture allocandole dinamicamente utilizzando malloc?
#include <stdlib.h>
/* la funzione malloc() e' dichiarata qui dentro */
typedef struct { int x ; } item ;   
/* definiamo il tipo di struttura */
int main()
{
   item * ptr = malloc( sizeof( item ) ) ; 
/* ptr e' il puntatore alla struttura che viene inizializzato */
   if (ptr != NULL) 
/* se malloc() ha dato buon esito... */
   {
      ptr->x = 3 ;  
/* ...assegniamo un valore arbitrario al campo della struttura puntata e... */
      free ( ptr ) ;
/* ...liberiamo la memoria puntata da "ptr" ... */
   }
   return 0 ; 
}
--
Posted from 
itaca.ulysse.it
 [195.223.254.1]


 come si utilizzano le strutture allocandole dinamicamente utilizzando malloc?
struct MiaStruct
{
    ...
};
struct MiaStruct *ms = malloc( sizeof( ms ) );
...
free( ms );

 paus=(struct str *)malloc(sizeof(struct str));
paus=malloc(sizeof(struct str));
EMG
Newsgroup: it.comp.lang.c
Titolo: Codice malato

Ciao a tutti... ho problemi con una porzione di un programma che ho
scritto, colpa sicuramente di qualche mia lacuna nella programmazione.
while(StrToken = strsep(&row[0], "+"))
{
    fprintf(stdout, "Token for Market = %s \n", StrToken);
    queryPart1 = "INSERT INTO TabMarket (IDAgentCustomer, IDArtifact,
nStep) VALUES(";
    queryPart2 = (char *)malloc((nAgents + 2) * sizeof(unsigned int));
    queryPart3 = (char *)malloc((3 + nSteps) * sizeof(unsigned int));
    printf(queryPart2, "%d, ", nAgents);
    sprintf(queryPart3, ", %d)", nSteps);
    query = (char *)malloc((strlen(queryPart1) +
                            strlen(queryPart2) +
                            strlen(queryPart3) + 1) * sizeof(char));
    strcpy(query, queryPart1);
    strcpy(query+ strlen(queryPart1), queryPart2);
    free(queryPart2);
    strcpy(query+ strlen(queryPart1) + strlen(queryPart2), StrToken);
    strcpy(query+ strlen(queryPart1) + strlen(queryPart2) + 						
strlen(StrToken), queryPart3);
    free(queryPart3);
    fprintf(stdout, "Insert query for TabMarket = %s \n", query);
    //mysql_query(&mysql, query);
    free(query);
}
In teoria dovrebbe simulare delle operazioni con un Database, ma in
pratica mi da un "Segmentation fault". Non dovrebbe essere la strsep
perchè ho già fatto uso di questa funzione in altri punti e non ho avuto
problemi (o per lo meno non si sono ancora manifestati).
row[0] contiene una stringa del tipo "12+4+20" e ciò che cerco di fare è
scorporarla per utilizzare le cifre che contiene.
Questo processo dovrebbe andare senza problemi per 100000 giri assieme.
Per la cronaca questa è una parte di un piccolo motore che simula
processi di innovazione ad un livello estremamente didattico.
Ringrazio tutti per l'attenzione, se fosse necessario posso inviare 
anche tutto il programma.
Grazie

    sprintf(queryPart3, ", %d)", nSteps);
printf(queryPart2, "%d, ", nAgents);
(che probabilmente voleva essere una sprintf ) e' piu' che
sufficiente a far piantare tutto.
poi e' strano che le queryPart2 e 3 le allochi
come unsigned int mentre sono stringhe.
ciao
g.

 
Ti ringrazio, Ciao
Newsgroup: it.comp.lang.c
Titolo: Compilazione a 32bit in modalità reale

E' possibile creare un eseguibile (che lavori in modalità reale) con il
Borland C compiler?

 Borland C compiler?
non lo so. so che si puo' in linux con gcc+gas, gratuiti anche loro.
sul Linux Assembly Howto, parlando di gas, si dice
3.2
[...]
GAS è un assemblatore a 32 bit, il suo compito è quello di supportare un 
compilatore a 32 bit. Attualmente ha solo un supporto limitato per il 
modo a 16 bit, che consiste nell'anteporre i prefissi per i 32 bit alle 
istruzioni, cosicché scrivete codice a 32 bit che gira nel modo a 16 bit 
su una CPU a 32 bit. In entrambi i modi supporta l'uso dei registri a 16 
bit, ma non l'indirizzamento a 16 bit.
Utilizzate le direttive .code16 e .code32 per passare da un modo 
all'altro. Notate che un'istruzione di assembly inline asm(".code16\n") 
consentirà a GCC di produrre codice a 32 bit che girerà in real mode!
dato che gcc+gas esistono anche per win, dovresti provare

 dato che gcc+gas esistono anche per win, dovresti provare
Si, ma ho sentito parlar male della sintassi AT&T del gas.
Comunque quel tipo di direttiva esiste nella maggior parte degli
assemblatori ma indica di scrivere codice a 16bit (certo, in modo reale ma
sempre a 16bit e non a 32).

 ma sempre a 16bit e non a 32).
In quella modalita' si entra nel Protected Mode, che esegue istruzioni a 
16 bit in modalita' 32 bit. se non e' questo che vuoi, non ho capito 
cosa intendi: il modo reale a 32 bit non mi pare esista sugli x86 e 
compatibili

 compatibili
La modalità reale esiste per compatibilità anche sulle macchine a 32 bit.
La modalità protetta esiste invece dal 80286.
A me interesserebbe utilizzare i registri e le funzioni del 386 o superiori
ma in modalità reale.
Per esempio:
int main(void)
{
blablabla;
.
valorediritorno=funzioneinasm(primoparametro,secondoparametro);
.
blablabla;
}
Assembler:
_funzioneinasm proc
xor eax, eax ;<- Registri a 32bit
mov es, ax
mov bh, byte es:[417] ;<- Illegale in mod. protetta
mov edx, 45 ;<- Registri a 32bit
in al, dx ;<- Illegale in mod. protetta
ret
end _funzioneinasm
Se questo "programma" si lancia in una macchina con modalità protetta darà
un errore generale.
L'accesso diretto alla memoria ed alle porte hardware non è consentito.
Ecco a me interessa utilizzare i 32 bit ed avere un accesso totale alla
macchina (senza dover per questo scrivere un driver).
Ciao.

 macchina (senza dover per questo scrivere un driver).
se il tuo e' un programma per windows, credo che non ci sia verso di farlo,
altrimenti se e' per DOS imposta il compilatore per generare codice per 386
e ottieni quello che hai chiesto.
ciao
donCiccio

 wrote in message
AyEu8.39979$m41.1...@twister2.libero.it...

Vorrei che il programma fosse leggibile quando il computer si riavvia in
modalità Ms-dos.
Con Bcc32 non so come fare.

 Con Bcc32 non so come fare.
potevi dirlo subito!
Basta un dpmi manager, tipo csdpmi, che ti esegue i programmi 32 bit in 
protected mode, in dos
Newsgroup: it.comp.lang.c
Titolo: realloc senza malloc?

Devo realizzare una funzione ricorsiva che alloca memoria per una struct
dinamica che si espande ad ogni chiamata della funzione.
E' possibile inizializzare subito la struttura con una realloc, senza la
utilizzare la malloc?


Si, pero' bisogna che la prima volta le passi un puntatore
che sia stato inizializzato a NULL.
Se le passi semplicemente un puntatore che non e'
stato inizializzato e vale una cosa qualsiasi,
il programma ti va in crash, perche' la realloc
non puo' sapere che in realta' il puntatore
non e' valido e quindi cerca di fare una free.
ciao,
g.

Newsgroup: it.comp.lang.c
Titolo: Compilatore C

    Attualmente qual'è uno dei migliori compilatori C. Io uso il vecchio Ms
Quick C.
    Grazie
    Jim

Io penso che uno dei migliori compilatori sia il gcc sia per la quantita' di
piattaforme supportate che per l' ottimizzazione del codice.
Ciao
-- 
  +   SSS H H AAA RRR  K K  Life is great . . . 
+++++ SSS HHH A A R R  KK   When you know how to live it !
  +     S H H AAA RRR  K K  Life is a bitch . . .
  +   SSS H H A A R  R K  K And then you die !

Newsgroup: it.comp.lang.c
Titolo: Sound Balster Pro

Ho una somblaster pro e vorrei acquisire 
un segnale da essa . 
	Come si FA????
	GRAZIE
	SAX


«Se dio esiste, spero che abbia una scusa valida.»
(D. Pennac)

Windows è molto più portabile.
Condivido il discorso sulla portabilita'. Pero' io ho trovato
scrivere codice per SBPro (un mod player che lavora in
background) tutto sommato istruttivo...
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff
Newsgroup: it.comp.lang.c
Titolo: Help per programma in c

Salve, premetto che sono un neofita del linguaggio c. Ho fatto un 
programmino che , dopo essere stato lanciato, ha bisogno di due nomi di 
file per funzionare, volevo sapere cosa dovevo fare per inserire un help 
iniziale (tipo dir /? o semplicemente digitando il nome dell'eseguibile) 
e per fargli passare in un unica linea i parametri necessari (per esempio 
nome.exe file1.doc file2.doc). Grazie!!!

Simone C, wrote:

  Quello che ti serve e' semplicemente leggere gli argomenti dalla riga di
comando, si fa in questo modo:
int help(void)
  {
   /* bla bla */
  }
int main(int argc,char *argv[])
{
/* argc ora contiene il numero di argomenti passati al programma e argv
e' un array di puntatori agli argomenti passati, cioe':
argv[0] e' il nome del programma (anche questo viene considerato un
   argomento)
argv[1] e' il primo argomento passato...
argv[argc-1] e' l'ultimo argomento passato.
*/
if (argc==1 && !strcmp(argv[1],"/?"))
   help();
else
   {
    if (argc==2)
        {
         /* qui puoi fare quello che ti serve con argv[1] e argv[2] */
        }
    else
        {
         fprintf(stderr,"Numero di argomenti errato\n");
         help();
         return 1;
         }
   }
}
?manu*

 nome.exe file1.doc file2.doc). Grazie!!!
Nella dichiarazione della main metti:
void main(int argc, char *argv[])
argc e' il numero di argomenti passati al programma, l'array argv sono
proprio i parametri passati.
argv[0] e' il nome del programma, argv[1] il primo parametro, ecc.
-- 
Matteo Gottardi / 
goma...@tin.it
*Linux*, The choice of a _GNU_ generation

Newsgroup: it.comp.lang.c
Titolo: Visualizzare Bitmap dentro un Dialog (Win32)

Non riesco a visualizzare una bitmap all'interno di un dialog.
Cercando in giro ho trovato due modi per farlo:
    * usare un resource editor e piazzare un controllo statico con il
flag SS_BITMAP settato [non ho trovato un editor che lo consente]
   *  Definire una classe a parte per la bitmap e la relativa funzione
[Molto lungo]
Se qualcuno ha idee/suggerimenti/res editor migliori è pregato di
rispondere nel newsgroup e/o per email
Grazie
[Uso lcc-win32, quindi niente MFC/OWL, ma solo le api "standard" di
win95/NT ]

[Molto lungo]
Basta gestire il WM_PAINT, ad esempio, dal dialogo; dipingere
la bitmap opportunamente, ad es. con BitBlt; poi magari tornare
FALSE dalla dialog procedure cosicché quella di default "termini
l'opera".  I dettagli vanno precisati, ma anche questa non mi
pare poi una strada "molto lunga".  Tuttavia, se ti basta, lo
static gia` pronto potrebbe sicuramente essere ancor piu`
rapido e semplice per te da programmare.
Alex
Newsgroup: it.comp.lang.c
Titolo: piped circolare? come fareste voi?

Ho tre programmi in pipe.
prog_1_mio | prog_2_*NON*_mio | prog_3_mio
da prog1 faccio printf sullo stdout e prog2 legge sullo stdin.
prog 2 a sua volta ha uno stdout e me lo leggo da prog3 con scanf.
Ora, come restituire il dato letto da prog3 a prog1?
Il senso del "gioco" è che prog1 deve mandare input e riceve output da 
prog2_non_mio. Allora ho fatto un programmino di echo che mi filtra solo 
l'output che voglio (è un semplice numero) e però poi questo numero serve a 
prog1. Come posso fare?
Ho provato con setenv e getenv ma a prog1 non gli piace se da prog3 faccio 
setenv e prog1 getenv...
boh...
ora sto pensando di appoggiarmi ad un file...ma è molto "costoso"...
anche perchè ogni volta mi devo riposizionare all'ultima riga...ci sarebbe 
un modo veloce per fare una cosa del tipo
prog3
  ||
  \/
 valore1\n ==> prog1
prog3
  ||
  \/
 valore1\n 
 valore2\n ==> prog1
prog3
  ||
  \/
 valore1\n 
 ...
 ...
 valorek\n ==> prog1
senza dover ogni volta riscansionare tutto il file?
Ciao e grazie...
-- 
__________________________________
"Ama e fai c'ho che vuoi".... 
__________________________________

<mega snip>
Ci sei arrivato vicino:
prova con una named pipe da usare da entrambi i tuoi programmi. (vedrai che
non hai bisogno di riscansionare il file).

Newsgroup: it.comp.lang.c
Titolo: [O.T.] NO Floppy per prg. C in WIN XP

Il mio programma scritto in C eseguito su WIN XP HOME EDITION non
riesce ad utilizzare il floppy in scrittura,  compare l'errore
"PERMISSION DENIED" se accedo al floppy con le normali funzioni del C.
Ho provato anche a lanciare da programma un file BATCH ma nulla, in
questo caso
nessun errore visualizzato ma il file non viene copiato. Con gli altri
sistemi operativi WIN95, WIN98 funziona tutto correttamente.
Come posso risolvere questo problema ???
Grazie in anticipo
Ekidna

ekidna wrote:


Come gia' suggerito in altra occasione, rivolgendoti a
it.comp.programmare.win32 e spiegandogli quali sono i
tuoi traumi nell'usare un S.O. non proprio ciofeca come
Win 9X...
C:\>iao Angelo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Newsgroup: it.comp.lang.c
Titolo: Debugger C per windows

Salve
Sto programmando in C usando il Dev-c++, ma il debugger non è che sia
un granchè.
Esiste qualche debugger c per windows, che funzioni step by step
proprio come quello del dev?
Qualcosa di semplice ed intuitivo.
Ho visto gdb e ddd ma sono per linux ;(
Grazie

 Ho visto gdb e ddd ma sono per linux ;(
Sarň un po' drastico: se non hai proprio l'esigenza di usare 
gcc e devc++ e se ti va di cambiare completamente ambiente di 
programmazione, ti consiglio PellesC che ha un ide e un 
debugger passo-passo integrati:
http://www.smorgasbordet.com/pellesc/index.htm
Ciao.

 Ho visto gdb e ddd ma sono per linux ;(
ddd è un'interfaccia per gdb che è il debugger ed esiste anche per
windows.
Se guardi nell'aggiornamento software di dev-c++ ti da la possibilità
di scaricare ed installare gdb, poi devi configurarlo.
Un consiglio serio?
Usa Visual Studio 2005.
Ciao
Newsgroup: it.comp.lang.c
Titolo: Aiuto su triplo ciclo for nidificato in un programma

Ciao, sto risolvendo un esercizio riguardante le terne pitagoriche: ad
ogni ciclo devo praticamente visualizzare i tre valori del triangolo
rettangolo, fino a quando l'ipotenusa sia di valore 500. L'esercizio
chiede di sviluppare il codice utilizzando esclusivamente un triplo
ciclo for nidifcato.
Ora io ho risolto l'esercizio con questo tipo di caratteristica ma
purtroppo ho solo sviluppato un programma che visualizza in sequenza
tutti i valori dell'ipotenusa, poi tutti i valori del cateto 1, ed
infine tutti i valori del cateto 2.
Dovrei invece sviluppare un codice tale che ad ogni fine di ciclo del
for più esterno io abbia i tre dati aggiornati di ipotenusa, cateto1 e
cateto2.
Assumendo che i valori minimi sono 5 per ipotenusa, 3 per cateto1 e 4
per cateto2, c'è qualcuno disposto a ragionarci su 5 minuti per
applicare un corretto triplo ciclo for nidificato? Ci ho ragionato
parecchio ma data la mia inesperienza non riesco a capire quale
soluzione corretta sia possibile sviluppare.

 cateto2.
Non riesco a capire cosa significa la frase di cui sopra.
Alla fine di ogni ciclo piu' esterno avrai effettuato la ricerca
per un determinato valore dell'ipotenusa, e trovato un certo
numero (anche nullo) di coppie di valori di cateti che
formano un triangolo rettanglo con quei valori
Cosa vuole dire "avere i tre dati aggiornati" ??
*Esattamente* cosa chiede l'esercizio ?
ciao,
g.

L'esercizio chiede esattamente di trovare tutte le terne pitagoriche
per lato1, lato2 e ipotenusa che non siano maggiori di 500. L'esercizio
obbliga ad usare un triplo ciclo for nidifcato che provi semplicmente
tutte le possibilità. Praticamente questo è un esercizio in cui viene
descritto un esempio di elaborazione di "forza bruta".
La soluzione che hai proposto purtroppo genera un ciclo infinito.
Non riesco a venire a capo di questo esercizio a causa dell'utilizzo
forzato dei 3 cicli for da usare.

 forzato dei 3 cicli for da usare.
Guarda che utilizzare tre cicli for nestati è la maniera più semplice in 
assoluto per fare quanto richiesto.
Tra l'altro tu hai detto in passato che hai scritto un programma che ti 
genera prima tutte le ipotenuse, poi tutti i cateti maggiori e poi tutti 
i cateti minori. E lo avresti fatto con tre cicli for nestati? 
Sinceramente sono curioso di vedere il tuo codice perché non riesco ad 
immaginarmi come hai fatto a ottenere quel risultato con tre cicli for 
nestati.
Probabilmente sbaglio ma la sensazione è che vuoi farti risolvere il 
problema da altri invece che risolverlo tu e che, di conseguenza, non 
conosci nulla di C (o di programmazione in generale vista la semplicità 
del problema). Tanto è vero che non riconosci la soluzione neppure 
quando la vedi.

Ha ragione AnalogFile, chiedo scusa. Ho riscritto esattamente cosa ha
scritto Giovanni Resta ed ora il programma funziona. Prima avevo
provato a modificare il mio codice in parte. Purtroppo non sono così
abile ed avevo commesso una svista che ha pregiudicato l'intero
programma.
Newsgroup: it.comp.lang.c
Titolo: Programmare

Problema:
ho un joypad  a 8 pulsanti:
ne fz solo 4
e' possibile fare un programma per farli fz tutti e otto
un aiuto vi prego non so' da dove cominciare!
ciao Fabrizio
rispondetemi in privato!

 wrote in message 823nen$r4n$9...@nslave1.tin.it...




Newsgroup: it.comp.lang.c
Titolo: Graphics.h

Salve a tutti sto cercando di imparere a programmare in modalita grafica ed
ho iniziato a dare un occhiata a piccoli  esempi, ma subito sono sorti
problemi. Premettendo che uso il borland c++ e programmando il seguente
programma:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
    /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   int midx, midy;
   int stangle = 45, endangle = 135;
   int radius = 100;
   /* initialize graphics and local
   variables */
   initgraph(&gdriver, &gmode, "");
   /* read result of initialization */
   errorcode = graphresult();
   /* an error occurred */
   if (errorcode != grOk)
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1);    /* terminate with an error code */
   }
   midx = getmaxx() / 2;
   midy = getmaxy() / 2;
   setcolor(getmaxcolor());
   /* draw arc */
   arc(midx, midy, stangle, endangle, radius);
   /* clean up */
   getch();
   closegraph();
   return 0;
}
mi dice che non riesce a trovare il file CGAVGA.BGI anche se questo è
presente nella cartella c:\bc\bgi\, ho anche provato a metterlo nella
certella c:\ && c:\windows\ && c:\windows\systems\ ma nulla come posso fare?
Devo usare un altro ambiente di sviluppo? Quale?
Grazie
ciao mavi

 ha scritto nel messaggio
news:9R1r8.121184$1S3.3...@twister1.libero.it...

E a metterlo nella stessa cartella del tuo programma hai provato?

Newsgroup: it.comp.lang.c
Titolo: help: usare CDK

Ciao a tutti, potreste aiutarmi a risolvere un problema con le CDK (Curses
Developement KIT) sotto Linux RH?
Le compilo, le installo, le linko specificandogli il path con -L ma non
riesco a compilare gli esempi! Non mi riconosce le funzioni. Se qualcuno le
ha usate può suggerirmi la soluzione per favore? Grazie.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 ha usate può suggerirmi la soluzione per favore? Grazie.
Prova a postare su : it.comp.os.linux.iniziare
li sarai molto più in tema ... qui si parla di C standard
Ciao Max
-- 
+-----------------------------------------------------------+
| Secondo alcuni autorevoli testi di tecnica Aeronautica,   |
| il calabrone non può volare, a causa della forma e del    |
| peso del proprio corpo in rapporto alla superficie alare. |
| Ma il calabrone non lo sa e perciò continua a volare.     |
|					     Igor Sikorsky  |
+-----------------------------------------------------------+
Newsgroup: it.comp.lang.c
Titolo: Colorare il testo sotto Visual C++

Utilizzo il compilatore Visual C++ e sto scrivendo un'applicazione in C da
consolle;
come faccio a colorare il testo che appare sullo schermo?



Ma perxhe' vi incasinate cosi' la vita ? Se stai scrivendo una appl da
console..xche' usi un ambiente visulae ???
Augusto Pucci
Webmaster di Prospektiva On-line
http://www.prospektiva.it

 console..xche' usi un ambiente visulae ???
forse perchè uno si compra il VC e deve iniziare a programmare in C
e non può mica iniziare a fare un'applicazione in finestra con gli eventi,
ecc.
oddio, esistono molti compilatori gratuiti per DOS
ciao


wrote:

Appunto :-)



D'accordo,ma dove posso trovarli questi compilatori Dos gratuiti sulla
rete??
Se io uso il compilatore borland c++ la libreria conio.h avrà queste
funzioni per colorare i testi???

 funzioni per colorare i testi???
Io non ne ho la minima idea, ma cosa dice il manuale?  O l'help
on-line?  Sarebbe una buona idea darci un'occhiata.
BTW, i files .h non sono librerie, ma headers; contengono solo
dichiarazioni e definizioni.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

 rete??
http://www.delorie.com/djgpp/
ciao


Io uso la versione 5.02.
Nella liberia conio.h c'è la funzione  textcolor();
Eccoti come funziona:
Syntax
#include <conio.h>
void textcolor(int newcolor);
che vedrai essere:
0 <= newcolor <=15
Però:
Note: Do not use this function for Win32s or Win32 GUI applications.
Spero di esserti stato di aiuto.
Alla prossima.
Ciao ciao.
--
================================
       Bisogna saper scegliere in tempo,
         non arrivarci per contrarietà...
------------------------------------------------
           Seeman79 ==> ©D@vide®
              COGITO ERGO SUM!!!
================================

Newsgroup: it.comp.lang.c
Titolo: cmsg cancel <g1boc.38082$n7P1.35778@twister01.bloor.is.net.cable.rogers.com>

Newsgroup: it.comp.lang.c
Titolo: Aiuto

E' possibile lontamente qualcosa del genere?
Dovrebbe essere una funzione che calcola la lunghezza max delle stringhe di 
una lista:
int  lunghmax (list* L,Char*s){
While(L!=NULL &&  i<lunghmax){
for(i=0, *(s+i)!='\0', i++);
lunghmax=i;
L=L->next;
}return i;
} 

efi ha scritto:
Innanzitutto, quando devi fare dei test, usa it.test e non il ng stesso in
cui vorresti scrivere.
Esiste la funzione strlen() che è standard e va usata quando vuoi reperire
la lunghezza di una stringa.  Se hai qualcosa del tipo:
size_t string_count;
char **strings;
size_t maxlen=strlen(strings[0]);
ti basta scorrere:
if (string_count>1) {
   for (i=1; i<string_count; i++) {
    size_t string_length=strlen(strings[i]);
    if (string_length>maxlen) 
       maxlen = string_length;
   }
}
 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 questcredo che o articolo e` stato inviato via web dal servizio gratuito

Newsgroup: it.comp.lang.c
Titolo: stringhe e puntatori su c

Salve a tutti, avrei un simpatico problemino con puntatori e stringhe...
Detto a parole semplici vorrei ottenere da una stringa tipo
ciao
una dal tipo
iao
in maniera cioè che mi punti al secondo carattere.
Più tecnicamente partendo da
char str1[10] = { c, i, a, o};
char str2[10];
prendere nella str2 dalla str1 dal carattere 2 in poi per esempio...
Idee? consigli? Grazie :)

 Idee? consigli? Grazie :)
strncpy(str2,str1+1,9);
Tommy

 Idee? consigli? Grazie :)
allora per inizializzare la stringa io troverei molto piů comodo scrivere
char str1[ ] = "ciao";
in questo modo viene aggiunto anche il carattere '\0'
altrimenti dovresti usare la forma
char str1[ ] = {'c','i','a','o','\0'};
e poi la copi in str2 con
strcpy(str2,str1+1);

 allora per inizializzare la stringa io troverei molto più comodo scrivere

Newsgroup: it.comp.lang.c
Titolo: dubbi...chiarimento pls

Salve a tutti, avrei bisogno di qualke chiarimento( o conferme) riguardo
puntatori ed array:
1)
int *primo,i=10;
primo=&i;
//Ora *primo vale 10 e primo contiene l'indirizzo della memoria allocata per
i=10;
//Ok?
2)
char *secondo;
secondo=(char *)malloc(sizeof(char)*10);
//Ora secondo contiene l'indirizzo di una parte di memoria riservata
nell'heap
di 9
//caratteri + il \0
//quindi sarebbe giusto il dare :
*secondo="Prova2";
// ?
// e sarebbe corretto stampare con:
printf("%s",secondo);
// ?
3)
char terzo[13]="Terza_prova";
 //in questo caso terzo[0] contiene 'T' etc..
// Ma &terzo contiene l'indirizzo dell'inizio della zona di memoria della
stringa?
// Se si allora &terzo[3] contiene l'indirizzo del 4° elemento della
stringa..
// E terzo è il puntatore all'inizio della stringa, quindi terzo==&terzo?
4 ed ultimo)
char *quarto[10];
//Sarebbe un puntatore ad un array di 10 elementi, quindi un ountatore
all'inizio della stringa..?
//Che differenza ha con terzo[10] a parte nuemro elementi?
//Se faccio:
terzo[2]="ciao";
//ma va in overflow perchè metterei 5 byte in 1 byte ma..
quarto[2]="ciao";
//non da problemi...anzi è ok.. ma se quarto[2] è un byte...come fa a
contenere
i 5 di ciao?
//provavo con una shell:
char *shiell[3];
 sh[0]="/bin/sh";
 sh[1]=0;
 execve(sh[0],sh,0);
//mi esegue la shell.. ma "/bin/shell" come fanno a stare in sh[0]?
//Allora sh[0] andrebbe a contenere l'indirizzo di quella stringa, non la
stringa no?
// E quindi è *sh[0] che al massimo conterrebbe 'a' giusto?
Vi ringrazio del tempo che vorrete dedicarmi...ma non riesco a togliermi
questa
confusione dalla
testa, che inevitabilmente mi da problemi nel proseguimento.
Greazie, Andrea

 // E quindi è *sh[0] che al massimo conterrebbe 'a' giusto?
??? perchè 'a'?, semmai '/b', visto che dovrebbe identificarla con una
sequenza di escape.
Ciao,
Cecco

 // E quindi è *sh[0] che al massimo conterrebbe 'a' giusto?
*sh[0] contiene '/'
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 *sh[0] contiene '/'
si sorry...altro errore.. ;)
Grazie molte omonimo.. ;)
Andre

 sequenza di escape.
mmm..la sequenza di escape è identificata da '\' e non da '/' .... se no
avrei messo "\\" ...
Grazie ancora dell'aiuto, Andre

 un ultimo favore...mi spieghi sta storia del "decade nel suo elemento..."?
I vettori decadono, a meno di tre circostanze specifiche,
nel puntatore al loro primo elemento.  Questo vuol dire che, 
se dichiari, per esempio:
char a[10];
'a' puo' essere trattato nella, maggior parte dei casi, come
se fosse un puntatore a carattere, in quanto, sempre a meno
di tre circostanze specifiche, decade nel puntatore al suo
primo elemento.
Le tre circostanze in cui questo non accade sono l'applicazione
di & (address-of) all'array, l'uso di sizeof sull'array e 
l'uso di un vettore literal string per l'inizializzazione
di un altro vettore.

Newsgroup: it.comp.lang.c
Titolo: Help.

Un saluto al tutto il ng.
Cerco una funzione C (ansi) che mi permette di ricercare una
parola in una stringa , ho gia visto strstr ma non fa al caso mio.
Suggerimenti?
Ciao. 

  Ciao. 
ciao ..
-- 
#include <stdio.h>
int main(void){char c[]={10,65,110,116,111,110,105,111,32,98,97,114,98,111,110,
101,32,60,104,105,110,100,101,109,105,116,64,116,105,115,99,97,108,105,110,101,
116,46,105,116,62,10,10,0}; printf("%s",c); return 0;}

 parola in una stringa , ho gia visto strstr ma non fa al caso mio.
Altre funzioni standard non ce ne sono, pero' ne puoi implementare una tu. 
Se a te serviva qualcosa con delle prestazioni migliori, cerca per esempio 
Knuth-Morris-Pratt, Boyer-Moore, Rabin-Karp che sfruttano vari metodi per 
effettuare una ricerca in tempo lineare anziche' quadratico (le prime due 
sfruttano modi per non dover mai ricontrollare porzioni della stringa, 
l'ultimo e' un po' particolare invece, forse non e' proprio quello che 
cercavi).
Altrimenti se cercavi modi di ricerca piu' potenti, come le espressioni 
regolari, in C non trovi nulla di standard, ma trovi varie librerie (tanto 
per citartene una PCRE utilizzate da vari progetti tra cui Apache).
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."
Newsgroup: it.comp.lang.c
Titolo: corso asm

Dove posso trovare un corso in asm preferibilmente in Italiano????
            GRAZIE
            TEO

 ha scritto nel messaggio
news:2pkH4.89550$pn3.1...@news.infostrada.it...


dimenticavo che se vai sulla homepage del nasm (é un compilatore free per
asm) trovi il manuale (in inglese ma é opportuno che tu cominci a leggere
l'inglese dato che i documenti pių interessanti sono in inglese)....per la
home page del nasm fai una ricerca su altavista!


qualcosa in italiano lo trovi su 
ringzer0.goldrake.com
 ma è orientato a
Win32 e per chi ha gia dimistichezza con l'ASM.

> Dove posso trovare un corso in asm preferibilmente in Italiano????
Io ne ho trovato uno buonissimo e assai completo *IN ITALIANO*
Ehm... però farei prima a inviartelo per posta che ricordare da dove l'ho
preso...
Se tu mi dai l'OK (HTML o testo semplice?)
Comunque siamo OT

Newsgroup: it.comp.lang.c
Titolo: come stampare sulla stampante?

Salve a tutti
Vorei sapere perpiacere come si stampa sulla stampante una stringa o un
numero
io so che con il Basic basta fare LPRINT "ecct..." opure LPRINT stringa$ o
LPRINT numero
ma in C ?
Grazie in anticipo achi mi risponde.
--
**** Carlo ////

 numero
In MS-DOS devi aprire il file PRN e scriverci sopra.
EMG

 opure LPRINT stringa$ o LPRINT numero ma in C ?
  Dipende dal compilatore e dal sistema operativo. I compilatori Borland
per MS DOS predefiniscono uno stream chiamato stdprn, utilizzabile come
stdout e stdetc. UNIX, a sua volta, definisce un device a caratteri
apposito, sotto forma di file /dev/lpr, su cui e` possibile scrivere
come in un file normale.
	Alla prossima,
		Marco

 **** Carlo ////
In C++ prova a fare:
#include <fstream>
const int _stdprn = 4;
main()
{
     fstream out(_stdprn);
     out << "hello printer\n";
}
Questo funziona solo per il DOS
(NON HO ANCORA CAPITO PERCHE SOTTO WIN32 questo canale
non è disponibile).
Tieni conto inoltre che questo costruttore per fstream non è standard.
Manlio Perillo

ma in C ?
Fai prima a crearti un file di testo e a stamparlo con 
system("type miofile.txt >prn" ) ;
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------

Newsgroup: it.comp.lang.c
Titolo: Programmare VideoGames

sto cominciando a sviluppare un sito sulle basi dello sviluppo di un
videogame(partendo da 0)..  per ora c'e' quasi nulla pero' vorrei
sapere se la cosa puo' interessare..
http://web.tiscalinet.it/xs/gamepro/
ciao
Paolo

Ciao,
    lodevole iniziativa ma se non lo conosci gia' visita 
http://gpi.eden.it
magari potresti essere utile :-)
A presto :-)
Marco Abis
http://www.programmazione.it
  il sito Italiano di riferimento per IT
ab...@programmazione.it
Newsgroup: it.comp.lang.c
Titolo: Lunghezza nome del variabili in C

char nomeVariabile = "Ciao";
 
la variabile nomeVariabile occupa 5 celle di memoria (Ciao + \0)...
Il nome della variabile, in questo caso nomeVariabile, dove viene 
memorizzata nel computer?
 
La lunghezza del nome della variabile, in questo caso nomeVariabile, non 
incide sull'efficienza del programma (nel senso nome corto=meno 
occupazione di memoria)?
 
Ciao
 
nero23

 occupazione di memoria)?
 
No.


Una buona risposta l'ha già data neonano
In genere solo i nomi delle variabili globali e quelle delle funzioni 
vengono memorizzate nell' eseguibile
I nomi delle variabili locali non viene memorizzato
Se vuoi vedere la tabella dei simboli in un eseguibile ed usi una 
macchina unix o linux il comando nm ti permette di vederli
Newsgroup: it.comp.lang.c
Titolo: costanti e array


The majority of the stupid is invincible and guaranteed for all time.
The terror of their tyranny, however, is alleviated by their lack of
consistency.
                -- Albert Einstein

 }
"ghi"      = const char* string0 = "ghi"-->string0[1] = 'h';
"def"      = const char* string1 = "def"-->(string1+1) = "ef"-->*"ef" = e;
"abc"     = const char * string2 = "abc"-->*string2 = 'a' --> 'a' + 11 = 'l';
"klm"     = const char * string3 = "klm"-->string3[1]='l';
"ghi"      = const char* string4 = "ghi"-->*string4 ='g'-->'g' + 8 = 'o';
Una cosa un po piu complicata e':
#include <stdio.h>
int main()
{
printf(&(0["palmolive"]-2["shampo"]-12)["palmol%siva%c"],((0)["suona"]-(5)["ancora"])+"a
cappella "-0xC,(5-3)["man"]);
printf("\n");
return 0;
}
--
Ivan Molella
__LINUX__ the choice of the __GNU__ generation
icq# 97960484

On Sun, 31 Dec 2000 16:22:13 GMT, about Re: costanti e array
Ivan Molella wrote:
[CUT] 
tanx .... ciao (c'era da parte mia anche una "dimenticanza" del 'k' ;-))))


Newsgroup: it.comp.lang.c
Titolo: restituire più valori per riferimento

credo, anzi credevo di aver capito come si passassero i valori per
riferimento in C , ma mi sono sbagliato...
se scrivo una procedura così riesco solo a restituore un valore
char *stampa()
{
  char buffer[7]="prova";
  char *copia;
  copia=(char*) malloc(strlen(buffer) + 1);
  strcpy(copia,buffer);
  return copia;
}
se però voglio restituire più valori allora vorrei passarli come parametri
nella funzione, così ho scritto
char stampa(char *copia)
{
  char buffer[7]="prova";
  copia=(char*) malloc(strlen(buffer) + 1);
  strcpy(copia,buffer);
  return 0;
}
domanda: come faccio a recuperare il valore di *copia???
gradirei un esempio con il codice,  visto che ci sto provando da ore ma
inutilmente

 wrote:
Hai posta... 


non riesco a leggere la posta sul server, puoi scrivermi sul newsgroup o
all'indirizzo 
vbst...@tiscalinet.it
?
Ciao Alfonso e grazie!!!

Newsgroup: it.comp.lang.c
Titolo: Cut and paste di video mpeg4

Dovrei prendere il file di un video mpeg4, tagliare i primi x secondi (con x 
variabile di ingresso) e della rimanente parte fare il paste con un altro 
video.
Chiedo cortesemente qualche suggerimento su come secondo voi sarebbe meglio 
procedere: librerie, software già pronto o altro.
Ringrazio per l'aiuto.
Stefano 


Software già pronto: ffmpeg
Ciao!

> Software già pronto: ffmpeg
Stavo provandolo giusto ora, in effetti c'è tra le opzioni -ss x (seek) che 
consente appunto di tagliare i primi x secondi. Purtroppo mi dà un errore: 
"could not find codec parameters". Il file originario è stato generato da 
VLC.
Vediamo se riesco a risolvere il problema. Comunque grazie.
Stefano
Newsgroup: it.comp.lang.c
Titolo: Sito di un programmatore

Il mio sito (
http://web.tiscalinet.it/giovanniscandurra
) è stato aggiornato.
Elenco delle novità:
- ampliata e riorganizzata la sezione tips
- aggiunti nuovi links
- aggiornata la sezione downloads
E' inoltre disponibile la versione 3.2 per Windows Me di Logo Manager, il
software che ti permette di cambiare in pochi clic i loghi di avvio e di
spegnimento di Windows.
Con Logo Manager puoi gestire i tuoi loghi personalizzati, scegliendo in
ogni momento quello che più ti aggrada. Logo Manager può importare qualsiasi
immagine, sia da disco, in formato bitmap, gif o jpeg, che dagli appunti. Il
box "Combinazioni", inoltre, ti permette di salvare e poi richiamare con un
semplice clic determinate combinazioni dei due loghi.
In più, con Logo Manager puoi modificare il logo del produttore e le
informazioni di supporto visualizzati nelle Proprietà del Sistema nel
Pannello di controllo.
Indirizzo per il download del file (2,3 Mb):
http://web.tiscalinet.it/GioSca/downloads/logomanagerme.zip
Versione 3.1 per gli utenti di Windows 9x (2,6 Mb):
http://web.tiscalinet.it/GioSca/downloads/logomanager.zip

 
'sti cacchi! 2,3-2,6 MB per modificare un bitmap e un paio di file di
testo!
-- 
 Ciao, Bianco.
 Reply to luca.bianco (at) 
tiscalinet.it

Newsgroup: it.comp.lang.c
Titolo: compilatore

Salve a tutti,ho esigenze di imparare a programmare in c,ho avuto in
passato un approccio alla programmazione ma è stata sporatica e poi allora
lo facevo in ambiente dos,ora ho la necessità di farlo in ambiente
windows.ho procurato un pò di guide varie e dato che il miglior modo
secondo me è anche quello di provare vorrei sapere da voi dove posso
scaricare un compilatore c free per cominciare.lo so che non è facile ma
ci metterò tutto l'impegno possibile!!!
magari vorrei sapere anche un pò la differenza tra ambiente dos e
win,magari sr potreste indicarmi qualche sito dove apprendere un po di
basi.magari per non riempire il news delle mie domande stupide se qualcuno
volesse potra darmi qualche dritta anche via mail.
Vi ringrazio andicipatamente e ...per ora mi metto a studiare,GRAZIE!
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ci metterò tutto l'impegno possibile!!!
http://www.thefreecountry.com/compilers/cpp.shtml
ciao.