mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: domanda stupida

Mi spiegate la differenza tra il CgyWin e mingw??Sono 2 compilatori 
diversi o è lo stesso?
-- 
GRAZIE
<<SAX>>
E-mail:
linefin...@tiscalinet.it
Web Page:
http://xeus32.altervista.org

 diversi o č lo stesso?
La base e' la stessa (gcc), Cygwin e' fatto per portare i programmi Unix
nella maniera piu' tranquilla possibile in Windows.
Per fare quasto si appoggia ad una dll (cygwin.dll) che implementa le
chiamate unix assenti in windows (fork() ad esempio).
Questo comporta una certa lentezza dei programmi risultanti.
MingW e' fatto per essere prestante. Per questo motivo si appoggia alle
dll native di Windows senza intermediari.
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c
Titolo: problema con un inserimento ordinato in una lista

Ho scritto un piccolo programmino per imparare a fare inserimenti
ordinati in una lista in c. Il problema è che qualsiasi sequenza
inserisca nella lista, il programma stampa sempre e solo l'ultimo
carattere inserito. Che si può fare?
#include <stdio.h>
#include <stdlib.h>
/*---data type---*/
typedef int type;
/*---------------*/
/*---the node---*/
struct node
{
       type data;
       struct node *next;
};
typedef struct node Node; /* <-defines the node object       */
typedef Node *NodePtr;    /* <-defines the pointer to a node */
/*-------------*/
/*sorted insertion*/
void addsorted(NodePtr *root, type value)
{
       NodePtr newptr;
       NodePtr back;
       NodePtr curr;
       if(newptr = malloc(sizeof(Node)))
       {
                  newptr->data = value;
                  newptr->next = NULL;
                  back = NULL;
                  curr = *root;
                  while(curr != NULL && value > curr->data)
                  {
                             back = curr;
                             curr = curr->next;
                  }
                  if(back == NULL) /*value is the smallest number in
the list*/
                  {
                             newptr->next = *root;
                             *root = newptr;
                  }
                  else /* back<value<curr */
                  {
                             back->next = newptr;
                             newptr->next = curr;
                  }
       }
}
/*---------------*/
/*-list printer--*/
void printlist(NodePtr root)
{
     while(root)
     {
         printf("\n%d\n", root->data);
         root = root->next;
     }
}
/*---------------*/
/*---the main----*/
int main()
{
      NodePtr root = NULL;
      char ins = 0;
      printf("Inserisci i numeri della lista, inserisci un carattere
per interrompere\n");
      while(1 == scanf("%d", &ins))
      {
           addsorted(&root, ins);
      }
      printlist(root);
      system("Pause");
      return 0;
}

Franco Perilli ha scritto:

Risolto. Era:
int ins;
invece di:
char ins;
Newsgroup: it.comp.lang.c
Titolo: definizioni

la seguente scrittura
______________
#include ecc.
int main()
{int fun(void), f;
 ...
 if(fun()==0) ...
 ...
}
int fun(void){...}
_______________
è equivalente a
?
_______________
#include ecc.
int fun(void);
int main()
{int f;
 ...
 if(fun()==0) ...
 ...
}
int fun(void){...}
_______________
che è equivalente a
?
_______________
#include ecc.
int fun(void){...}
int main()
{int f;
 ...
 if(fun()==0) ...
 ...
}

 int fun(void){...}
Quasi. Nel primo  caso il prototipo  e` visibile  solo nel main,  ma non
all'esterno del blocco:
void foo(void) {
        fun();  /* implicit declaration */
}
int main() {
        int fun(void);
        fun();  /* OK */
}
void bar(void) {
        fun();  /* implicit declaration */
}
int fun(void) { return 0; }
void quux(void) {
        fun();  /* OK */
}
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
La somma dell'intelligenza sulla terra e` una costante.
La popolazione e` in aumento.
Newsgroup: it.comp.lang.c
Titolo: gets da file

Salve premetto che le mie varie conoscenze del linguaggio C sono scarne, il 
mio problema è che dovrei (dopo aver scaricato con la wget un sito di testo) 
immagazzinare in una lista le parole presenti tra <title></title>, ho letto 
che ci sono comandi per prendere queste parole direttamente senza fare una 
fgetc di carattere per carattere (anche perchè gli spazi non li voglio).
Ho visto della fgets ma ad una newline si ferma. E poi come faccio a farla 
continuare e dividere le parole senza fare troppe iterazioni inutili?
grazie mille 


secondo me conviene trovare qualcosa di gia' fatto, oppure ti crei il
tuo parser usando flex e bison (ad esempio).
Ciao Jack

beh se sapessi dove trovare qualcosa di già fatto avrei risolto, ma comunque 
mi basterebbe sapere un metodo, non penso cmq ci metterei poi molto per 
implementarlo 


io leggerei dallo standard input (quindi con fgets(), riga per riga,
in un ciclo fino allo EOF del file).
Per trovare la stringa che cerchi (nel tuo caso "<title>" e "</
title>") puoi usare strstr() (o meglio strcasestr() se la tua
implementazione ce l'ha).
Ciao!

 immagazzinare in una lista le parole presenti tra <title></title>
E' necessario usare il C?

 ha scritto nel messaggio 
news:29dc4fe1-14a1-4dd8...@s9g2000prg.googlegroups.com...


quindi allora fgets() prende le parole staccate dallo spazio immagino.
grazie mille ora ci provo 

"Andrea D'Amore" <suppane...@gmail.com.invalid> ha scritto nel 
messaggio news:suppanewsNOSPAM-6C...@nntp.aioe.org...

si purtroppo si devo imparare più comandi per saper padroneggiare al meglio 
nei futuri esami vari casi e quindi sto facendo un po di esercizi visto non 
ci sono prof molto presenti ... 

 ci sono prof molto presenti ... 
Non sono sicuro di capire che intendi ma se è a scopo didattico ti 
conviene provare il più possibile, ci sono sempre diverse maniere di 
risolvere un problema e non è detto che una sia migliore delle altre, 
dipende anche dalla tua forma mentis.
Sicuramente ci sono librerie C per accedere al DOM, se usi una di quelle 
risolvi molto velocemente accedendo all'elemento <title>.
Chiedevo se fosse necessario il C perché mi sembra un caso in cui potevi 
usare un qualsiasi perl/python/ruby/lua o awk/sed per risolvere in tempo 
più breve.

"Andrea D'Amore" <suppane...@gmail.com.invalid> ha scritto nel 
messaggio news:suppanewsNOSPAM-12...@nntp.aioe.org...

adesso ho provato la fgets però purtroppo mi prende tutta la frase.... 
quindi devo cercare altre soluzioni .... 

 spazi non li voglio).
Che mi risulti non esiste niente di pronto in "C" standard.
Devi farti un ciclo che trovi tutte le coppie <title></title>,
legga quello che c'e' in mezzo e scarti il resto.
Il problema non e' esageratamente difficile, ma e' un po'
tedioso.
C:\>iao Angelo

 tuo parser usando flex e bison (ad esempio).
Complimenti per il suggerimento. A quando il consiglio di
spararsi in un piede?
C:\>iao Angelo
Newsgroup: it.comp.lang.c
Titolo: Dov'è THINKING IN C++?

Cerco il link del sito dove è possibile scaricare THINKING IN C++.
Grazie

 Grazie
www.bruceeckel.com
-- 
Ciao,Marcello   
ig...@dist.unige.it

 
anche qui!
http://ftp.unina.it/pub/docs/eckel/TIC2e/

Newsgroup: it.comp.lang.c
Titolo: [OT] MSDN Originale Vendesi

Vendo i seguenti numeri di MSDN Library Originali:
E' + di un anno che va avanti questa storia.
Smettila per cortesia.
Usa uno dei gruppi dedicati agli annunci.

 wrote in message
news:3aec0c0e...@news.libero.it...

E leggiti le licenze, dato che quello che vuoi fare non puoi farlo.
www.gdf.it
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556
Newsgroup: it.comp.lang.c
Titolo: Include...

Ciao,
scusate la domanda, forse banale...ma se voglio scrivere un programma, come
faccio a sapere quale funzioni esistono già negli include del
compilatore...o cmq se esistono in giro da qualche parte?!
grazie
byez
B@STI

 ha scritto nel messaggio
news:814h8.36152$_u5.1...@news1.tin.it...

http://www.infosys.utas.edu.au/info/documentation/C/CStdLib.html


Tu puoi assumere due cose, la prima sempre, la seconda solo in
particolari casi.
1) hai tutte le lib standard del C89 (o c99 quando tutti i compilatori
lo supporteranno), v. comunque l'altra risposta alla tua domanda per
maggiori info su queste.
2) se hai un sistema posix hai tutte le funzioni posix
Per il resto devi leggerti il manuale del compilatore.
Mox
-- 
Mox

compilatore...o cmq se esistono in giro da qualche parte?!
Prendi un buon manuale di C, per esempio il Kernighan & Ritchie, e
troverai tutte le librerie e funzioni standard.
Per le funzioni proprietarie del tuo compilatore, dovrai leggere la
documentazione allegata, oppure un manuale specifico.

troverai tutte le librerie e funzioni standard.
Non tutte, solo la parte piu' importante.
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]

Non tutte, solo la parte piu' importante.
Uhmm, nel K&R non sono almeno elencate tutte le funzioni della
libreria standard del C?
Mi fai un esempio.
Mox
-- 
Mox

Mi fai un esempio.
Il K&R 2 č pre-standard C89 quindi č (praticamente) conforme a quello
standard. Il C99 č venuto un bel pņ di tempo dopo quindi tutte le
novitą di quella versione dello standard non sono comprese nel K&R
--
Lawrence "Rhymes" Oluyede
rhy...@myself.com

novitą di quella versione dello standard non sono comprese nel K&R
Che non sia conforme al c99 e che di conseguenza non includa le
funzioni previste dal nuovo standard lo so :)
Volevo solo sapere se andrea si riferiva anche al C89 o no.
-- 
Mox

libreria standard del C?
Non tutte.
Per esempio, e' esclusa tutta la parte riguardante la
localizzazione e Unicode.

Newsgroup: it.comp.lang.c
Titolo: caricare e visualizzare una lista

Ciao! Come questo programmino che dovrebbe caricare e visualizzare un lista
mi da segmentation fault? Non riesco proprio a trovare l'errore.
-----------------------------------------------------
#include <stdio.h>
struct node {
        int num;                                
        struct node *next_node;                 
};
struct node *load_list(void);                   
void print_list(struct node *head);             
int main()
{
        struct node *head;
        head = load_list();
        print_list(head);               
        return 0;
}
/* Funzione che carica la lista */
struct node *load_list(void)
{
        struct node *p, *p_aux;
        p = (struct node *)malloc(sizeof(struct node)); 
 
        printf("\nNum: ");      /* La testa della lista */
        scanf("%d", p->num);
        p_aux = p;                              
 
        do {
                p_aux->next_node = (struct node *)malloc(sizeof(struct node));
                p_aux = p_aux->next_node;
                printf("\nNum: ");
                scanf("%d", p_aux->num);                        
        } while (p_aux->num != 999);            
        p_aux->next_node = NULL;                
        return p;                               
}
/* Funzione che stampa la lista sullo stdout */
void print_list(struct node *head)
{
        while (head != NULL) {
                printf(" %d", head->num);       
                printf(" ---->");               
                head = head->next_node;         
        }
        return;
}

ok tutto risolto, era solo un stupido errore di distrazione (l'& nella
scanf... :( ) Caspita...mi sa che devo riposarmi un pò...
Newsgroup: it.comp.lang.c
Titolo: Funzione che ritorna stringa

Salve a tutti, vorrei un aiuto.
Voglio creare una funzione che mi restituisca una stringa, come nell'esempio
seguente. Il valore ritornato dalla funzione non e' pero' quello che mi
aspetto, dove sbaglio?
#include <stdio.h>
#include <stdlib.h>
char * miafunc (void) {
char str[]="Questa è una stringa";
return (str);
}
int main (void) {
printf("%s",miafunc());
return (0);
}
Grazie
Enrico

 char str[]="Questa è una stringa";
sostituiscila con:
char *str ="Questa e' una stringa";


 char *str ="Questa e' una stringa";
Grazie, ma purtroppo devo usare proprio una stringa definita come str[MAX]
(viene riempita da una read).

 }
La parola magica è static.
Leggendo poi quello che scrivi dopo, è meglio se fai qualcosa del genere:
static char str[MAX_LEN];
strncpy(str, "questa è una stringa", MAX_LEN);
ricordando come principio che il vettore static è lo stesso ad ogni
chiamata della funzione.

Scusa...magari ti dico una cagata...am non mi ricodo tanto bene...ma
cosě il valore che ti ritorna non č un puntatore???Magari č un
stronz......
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:ZrsAa.152723$3M4.3...@news1.tin.it...

Se dichiari all'interno della funzione una stringa come
char str[MAX];
all'uscita della funzione il compilatore dealloca la memoria per tale
stringa e quindi nella funzione chiamante c'e' il rischio di trovarci dei
casini.
E' per quello che Enrico ti aveva suggerito la dichiarazione come
char * str = "..."
Se pero' ti serve una stringa lunga MAX e ti serve ritornarla devi
dichiararla nel modo di Enrico, allocare memoria e assegnarle la stringa:
char * miafunc(void) {
    char * str;
    str = (chara *) malloc(MAX * sizeof(char));
    sprintf(str,"Questa e' una stringa");
    return str;
}
Poi, nella funzione chiamante, quando la stringa non ti serve piu' devi
ricordarti di liberare memoria
int main(void) {
    char * tmp;
    tmp = miafunc();
    printf("%s\n",tmp);
    free(tmp);
    return 0;
}
Non l'ho provato, ma sono quasi certo.
Ciao,
Ema
Newsgroup: it.comp.lang.c
Titolo: HELP! Alle prime armi

Scusate la mia ignoranza in materia.
Ho iniziato da poco a leggere il libro "Linguaggio C (Kernighan e Ritchie)"
e contemporaneamente alla lettura ho provato a implementare i programmi
descritti.
Cio' che non capisco e' nel seguente programma:
#include <stdio.h>
#define IN 1
#define OUT 0
main(){
   int c,nl,nw,nc,state;
   state = OUT;
   nl = nw = nc = 0;
   while((c = getchar()) != EOF){
      ++nc;
      if(c == '\n')
         ++nl;
      if(c == ' ' || c == '\n' || c == '\t')
          state = OUT;
      else if(state == OUT)
      {
         state = IN;
         ++nw;
      }
    }
    printf("%d %d %d\n",nl,nw,nc);
}
Il programma dovrebbe contare le linee, le parole ed i caratteri in
ingresso.
Cio' che non capisco e' quel fatidico EOF. Ho capito che sta per end of file
e che nel file stdio.h assume valore "-1", ma cio' che non mi e' chiaro e'
come riuscire a ricrearlo nella pratica, data una linea di caratteri in
ingresso, in modo da interrompere il programma uscendo dal while.Nel prompt
inserisco la ia stringa di caratteri, magari inframezzata da dei new line
(\n) e spaziature, ma poi come termino?
Non so se sono stato molto chiaro...
grazie in anticipo a chiunque abbia voglia di illuminare la mia mente.
Giacomo.

 ingresso, in modo da interrompere il programma uscendo dal while.
Dipende dal sistema operativo. In MS-DOS, ad esempio, devi digitare
CTRL-Z.
EMG

come gia detto dipende dal sistema operativo: unix-like ctrl-D

Newsgroup: it.comp.lang.c
Titolo: operatore ?: esercizio

Ciao!
come posso risolvere questo esercizio?
a,b,c
utilizzando l'operatore ?: devo vedere quale tra i tra valori e' il 
maggiore...
se io facessi   Ris=(a>b)?a:b otterrei che se A fosse maggiore verrebbe 
assegnato il suo valore a ris e vicevera per b, ma per tre variabili?
....
grazie


Ris = (a > b)? a : b;
Ris = (Ris > c)? Ris : c;
forse ne esiste una migliore, perņ di prima mi č venuta questa ...

int ris = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);

Newsgroup: it.comp.lang.c
Titolo: calcolo blocchi

Ciao a tutti...ho il seguente problema:
devo scrivere un programma che letto il numero N dei blocchi che 
costituiscono un file, esso calcoli il numero N1 dei blocchi di prima 
indirezione, N2 dei blocchi di seconda indirezione e N3 dei blocchi di terza 
indirezione, sapendo che un file di UNIX ha la seguente struttura: 13 
blocchi per la scrittura diretta e 3 blocchi di indirezione... come posso 
fare?

grazie 1000 x l'aiuto
Newsgroup: it.comp.lang.c
Titolo: Dubbi su memoria

Forse è bene chiarire un poco le idee sull'allocazione di memoria.
Se a punta a una locazione di memoria allocata dinamicamente
free(a) libera la memoria ovunque free() si trovi nel programma o
nelle procedure?
Secondo voi è corretto il seguente programma?
char* reverse(const char* s)
{char *copia=malloc(strlen(s)+1),
      * p=copia, *p1, *p2, c;
 strcpy(copia, s);
 if(p==NULL || *p=='\0') return copia;
 while(*++p);
 for(p1=copia, p2=--p; p1 < p2 ; p1++ , p2--)
               {c=*p1; *p1=*p2; *p2=c;}
 return copia;
}
int main(int argc, char **argv)
{char *arg_1;
 arg_1=reverse(argv[1]);
 if( arg_1!=0 )
   {printf("%s = %s\n", argv[1],  arg_1);
    free(arg_1);
   }
 return 0;
}
___________________________
Se definisco      void f(void) {char a[50]; a[0]=3; }
E' giusto quello che dico nel casi che f viene chiamata
1) si alloca la memoria per a
2) quando finisce la funzione f si dealloca la memoria per a
E nel caso di   char* g(void) {char a[50]; return a;}
ed                    int main(){char *j;... j=g(); ...}
la memoria per a viene deallocata lo stesso, oppure può essere usata
dal puntatore j?
E nel caso di allocazione dinamica
Se definisco void f(void) {char *a=malloc(50); a[0]=3;}
quando finisce la funzione f si dealloca la memoria per a
o ci vuole free(a) da qualche parte?
E nel caso di   char* g(void) {char *a=malloc(50); return a;}
ed                    int main(){char *j;... j=g(); }
la memoria per a viene deallocata lo stesso, oppure può essere usata
dal nuovo puntatore j?

nelle procedure?
Quando usi malloc() peschi memoria dalla porzione di heap libero (che
potrebbe benissimo essere gestito con una lista).
Quando usi free() reinserisci nella lista di porzioni libere di heap
lo spazio che usavi prima (quindi una successiva malloc potrebbe
riutilizzarlo).
Non importa da che punto del programma lo fai, il risultato e' lo
stesso.
Nota che lo heap non e' locale al tuo programma quindi potrebbe
capitare che se non liberi lo heap con una free (prima di uscire
intendo) poi nessuno possa piu' utilizzare quella porzione di heap
perche' la pensino utilizzata.
-- 
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."

dal nuovo puntatore j?
la 2° che hai detto
Ciao

 dall'esterno di f()
int *foo(void) {
	int a[10];
	return a;
}
Non e`  affatto difficile  _tentare_ di  accedere alle  variabili locali
della funzione. Il  problema e`  che quella  memoria e`  stata liberata,
quindi  non so  piu` cosa  ci sia  dentro: undefined  behaviour. Sarebbe
legale accedere ad una variabile locale static, visto che viene allocata
una volta e permane fino alla fine del programma:
int *foo(void) {
	static int a[10];
	return a;
}
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Se non sei parte della soluzione, allora sei parte del problema.
Newsgroup: it.comp.lang.c
Titolo: cerco semplice compilatore C gratuito in Internet

grazie
N.

 
I primi due compilatori gratuiti che mi vengono in mente sono djgpp per 
windows e gcc per linux. Entrambi si trovano su google. Per semplice non 
so cosa intendi, ma credo che i compilatori si utilizzino piu' o meno 
tutti allo stesso modo. Forse stai cercando un ide?
-- 
Devaraja (Xdevaraja87^gmail^c0mX)
Linux Registerd User #338167
http://counter.li.org

 
http://www.mingw.org/
PS:
la prossima volta non mettere il "succo" del discorso tutto nel subject, 
e' poco carino.
Ciao

 Ciao
Perchè? Pensavo invece di farvi risparmiare tempo così vedevate subito
quello che cercavo.

 tutti allo stesso modo. Forse stai cercando un ide?
Grazie. Purtroppo non so neanche cos'è un Ide.


 Grazie. Purtroppo non so neanche cos'è un Ide.
Integrated Development Environment (ambiente di sviluppo integrato). Gli 
IDE sono strumenti che facilitano la scrittura e il debug dei programmi. 
Generalmente sono composti da un editor di testo specializzato per un 
certo linguaggio di programmazione e da strumenti (integrati 
nell'editor) per controllare il compilatore, il linker e tutto il resto. 
Alcuni IDE hanno un compilatore proprio, altri utilizzano compilatori 
indipendenti, lo stesso avviene per gli strumenti di debug.


Newsgroup: it.comp.lang.c
Titolo: leggere numeri da un file

Ciao, avrei un piccolo problemino.
Ho il mio programma (main.c) che dovrebbe andare a leggere quattro
colonne di numeri nel file numeri.ascii.
Ecco un esempio di come si presentano i numeri che devo passare al mio
main.c
   2.873  0.187  12683.    15.3
   2.876  0.184  10564.    15.5
   2.878  0.183  10814.    15.5
   2.878  0.332   9735.    15.4
   2.879  0.646   7661.    15.5
Ogni colonna rappresenta un array di numeri che main.c deve poi
opportunamente elaborare ...
Come faccio a far si che main.c vada a leggere questi valori in
maniera corretta  e li possa poi usare?
Grazie molte!
Ant.

 leggere quattro colonne di numeri nel file numeri.ascii.
   FILE *fp;
   float numeri[4];
   fp = fopen("numeri.asc", "rb");
   if (fp == 0) {
      printf("Ooops... il file non c'è\n");
      exit(1);
   }
   while (fscanf(fp, "%f %f %f %f\n", numeri, numeri + 1, numeri + 2, numeri
+ 3) != EOF)
      printf("%f %f %f %f\n", numeri[0], numeri[1], numeri[2], numeri[3]);
   fclose(fp);
Maurizio.

 
attento alle parentesi
while("...", &numeri[1], &numeri[2], &numeri[3],&numeri[4]);
ciao
-- 
real name: Fabrizio Chiarello	| a Debian GNU/Linux | i'm in the could
nick:	   
ckk8.org
		| "Woody" is running | do better category
e-mail:	   
fchia...@inwind.it
	| on Linux v2.4	     | 		  - ckk8

 while("...", &numeri[1], &numeri[2], &numeri[3],&numeri[4]);
Ricorda che numeri è stato definito come:
float numeri[4];
e numeri[4] non esiste. Caso mai va scritta
    while("...", &numeri[0], &numeri[1], &numeri[1],&numeri[3]);
Però non c'è alcuna differenza nello scrivere:
    &numeri[1]
e
    numeri + 1
Maurizio.

     numeri + 1
lo so, è solo che ho visto nel mex precedente numeri1, numeri2 ecc, e ho
pensato che avesse dimenticato le parentesi o il segno '+'.

Newsgroup: it.comp.lang.c
Titolo: problema extern...

Ciao a tutti...
ho un problema con una variabile extern in pratica il mio progetto ha 
una struttura del tipo:
----------------------
file gestliste.h
----------------------
#ifndef GESTLISTE_H
#define GESTLISTE_H
/* bla bla bla ;)  */
extern GList *list;
#endif
----------------------
file gestliste.c
----------------------
#include "gnome.h"
#include "gestliste.h"
GList *list=NULL;
/* bla bla bla */
--------------
Cosi' facendo la variabile "list" dovrebbe essere visibile anche negli 
altri file .c del progetto ma questo non accade e il compilatore mi dice:
gestliste.h error: storage class specified for parameter 'list'
gestliste.c error: parameter 'list' is inizialized
gestliste.c error: redefinition do parameter 'list'
una serie di altri errori derivanti da quelli sopra ;)
Dove sbaglio?
Ciao e grazie
Aragorn

 Dove sbaglio?
Mi autopunisco...avevo dimanticato un ";" ...che scemo!
Saluti
Aragorn

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

come posso definire una stringa in un define che contenga piu' linee?
es.
#define HELP "Questo deve essere il testo da visualizare
per l'help"
...
quando scrivo questo ho il seguente warning
 warning: multi-line string literals are deprecated

Knady ha scritto:

Prova
#define HELP "Questo deve essere il testo da visualizare \
per l'help"
-- 
Kleidemos
Un computer a un altro quando si incontrano:
"Ciao, come ti boota oggi???"

Newsgroup: it.comp.lang.c
Titolo: [OT] - trovato sito in italiano con sorgenti (www.iswapcode.com)

Ciao raga, ho trovato un sito con un elenco di sorgenti in C e C++  ...
per gli interessati:
http://www.iswapcode.com
:o)

"CLASS" ha scritto:
[...]
xqbert... almeno cambia gli header dei messagi, se non vuoi cambiare i 
messaggi stessi...

 
http://www.iswapcode.com
Morpher?
-- 
Nick Belane
Newsgroup: it.comp.lang.c
Titolo: Allocare GROSSA matrice

Ciao,
ho un grosso problema (in tutti i sensi...), stò cercando di allocare una
matrice di float (con i double non ci ho provato nemmeno) che all'incirca
occupa 35MB.
(In realtà è una struttura che contiene matrici tridimensionali).
Utilizzo Dev-C++ come so WXP e l'applicazione deve girare solo da
console -niente finestre-, inutile dire che il programma esce subito con un
segmentation fault...
ora non essendo io un esperto di C come faccio?
--
Trust

Beh se ti può consolare ho creato prog che allocavano anche fino a 700MB in
memoria; non capisco cosa vuoi...se hai un errore devi postare il codice,
altrimenti è inutile parlarne!!!
--------------------------------
Inviato via 
http://usenet.libero.it

 ha scritto nel messaggio
news:62Z211Z222Z215Y...@usenet.libero.it...


 occupa 35MB.
Prova questo, almeno come punto di partenza:
#include <stdio.h>
#include <stdlib.h>
#define SIZE 4000
int main()
{
    double ( *Matrice )[ SIZE ] = malloc( SIZE * SIZE * sizeof( double )
);
    int i, j;
    if ( !Matrice )
    {
        printf( "Memoria insufficiente\n" );
        exit( 1 );
    }
    for ( i = 0; i < SIZE; i++ )
        for ( j = 0; j < SIZE; j++ )
            Matrice[ i ][ j ] = ( i + 1 ) * ( j + 1 );
    for ( i = 0; i < SIZE; i++ )
        for ( j = 0; j < SIZE; j++ )
            if ( Matrice[ i ][ j ] != ( i + 1 ) * ( j + 1 ) )
            {
                printf( "Errore nella matrice\n" );
                free( Matrice );
                exit( 2 );
            }
    free( Matrice );
    return 0;
}
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg

 wrote

Prova ad allocare dinamicamente! Cosi' e' molto improbabile che funzioni ;-)
Tommy

 Il codice è semplicissimo:
Se le matrici sono definite all'interno di un blocco prova a definirle
fuori da ogni blocco (potresti aver superato la capacità dello stack).
Altrimenti prova ad allocarle dinamicamente.

Newsgroup: it.comp.lang.c
Titolo: Visual Basic Journal e altre riviste

Salve a tutti
mi sono affacciato da poco al mondo della programmazione ed in particolare a
quella di VB6 e 
VB.NET
.
Dopo un giretto nel web, ho visto che in Italia una autorevole rivista è
quella di Infomedia, ossia Visual Basic Journal.
Ho visto inoltre che abbonandosi alla rivista, si ha la possibilità di
accedere all'archivio completo di pubblicazioni precedenti, potendo così
scaricare sia le precedenti edizioni della rivista che i file allegati.
Qualcuno di voi è già abbonato?
Vale la spesa?
Quanto costa abbonarsi?
I contenuti della rivista, sono validi ed utili?
Una volta abbonati, si accede veramente all'archivio delle precedenti
edizioni?
Conoscete inoltre altre riviste autorevoli (In italiano) del settore, che
oltre al VB, tratti anche altri linguaggi?.
Grazie in anticipo a tutti quelli che mi risponderanno.
Saluti
F.P.

 particolare a quella di VB6 [...]
Guardi che ha sbagliato numero.
--
Cingar
-- 
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: Programmatori e Mud

Salve a tutti, siamo un gruppo di giovani che sta cercando programmatori per
un mud (Multi User Dungeon) in c.
Il progetto e' iniziato, chiunque volesse unirsi e' pregato di informarmi a
fi...@promotion.it
.
Ale
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com
 - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----

Mi spiegate per curiosità cos'è un mud!
Grazie mille!
Ciao
Francesco!

 wrote in message
QNCW8.13714$K_4.3...@twister1.libero.it...

Un mud è un videogioco testuale multiutente di ruolo, su cosa sia o non sia
un mud da queste parti ci divertiamo a discutere scannandoci periodicamente
per cui mi sono attenuto nella definizione ai caratteri piu' essenziali e
condivisi del prodotto mud comunque se vuoi approfondire l'argomento puoi
consultare il seguente indirizzo
www.muditalia.com
che altro non è se non muditalia il primo portale italiano dedicato ai mud
luogo ove potrai chiarire ogni dubbio ti attanagli in proposito... se poi
non sei ancora sazio puoi anche consultare
www.mud.it
altro portale di nascita "piu' recente" riguardante lo stesso argomento...
alla proxima
Lisis
P.S. (OT)
ma sei lo stesso F.Rossi di it.cultura.ateismo ed il medesimo di
it.sport.calcio????
Newsgroup: it.comp.lang.c
Titolo: conversione intero/esadecimale

Salve! Sapete dirmi perchč se faccio una conversione intero/esadecimale 
in questo modo:
#include <stdio.h>
int main()
{
	int i = -25;
	printf("%X", i);
}
ottengo: FFFFFFE7
mentre utilizzando l'operatore & in questo modo:
#include <stdio.h>
int main()
{
	int i = -25;
	printf("%X", i & 0xff);
}
ottengo: E7
?

 Salve! Sapete dirmi perchè se faccio una conversione intero/esadecimale 

Non capisco dove sia il tuo dubbio:
0xffffffe7  &
0x000000ff  =
-------------
0x000000e7
E` basilare algebra booleana :| 
Luca
-- 
Ligabue canta: "Tutti vogliono viaggiare in primaaaa..."
Io ci ho provato e dopo un chilometro ho fuso il motore e bruciato
la frizione...

 Luca
Già ovvio, simpatica la tecnica di fare l'and direttamente in 
esadecimale senza passare per i 32 bit :)

 esadecimale senza passare per i 32 bit :)
"Per i 32 bit" ci "passi" comunque...
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto:

Beh, ci si passa comunque per i 32 bit. In questo caso specifico il
risultato si vede ad occhio. Ogni cifra esadecimale corrisponde a 4 bit,
la 0xf corrisponde a 1111, quindi con 0xff stai effettivamente estraendo
il byte LS.
Luca
-- 
Home: 
http://kronoz.cjb.net
Non capisco tutta questa eccitazione per il Multitasking: 
io sono anni che leggo in bagno.

 
Certo, ma se uno deve fare un ragionamento "al volo", magari scrivendolo 
su un pezzo di carta, fare la conversione non è praticissimo...


Comunque stai invocando "comportamento indefinito".
Non è consentito stampare con %X qualcosa di diverso da "unsigned int".
C'è da dire che nella maggioranza dei casi funziona ugualmente.
--
Giorgio Silvestri
DSP/Embedded/Real Time OS   Software Engineer


Si stanno estraendo solo gli 8 bit "bassi".
Un byte è fatto in generale di "CHAR_BIT" bit (ma
di norma sono effettivamente 8).
La maschera corretta sarebbe:     (1u << CHAR_BIT) - 1
ammesso che CHAR_BIT sia minore del numero
di value bit di un unsigned int.


return 0;
Non è obbligatorio.

"Andrea Laforgia" <a.laf...@andrealaforgia.it.invalid> ha scritto nel
messaggio news:oeklh2pfvbrcvjrof...@4ax.com...

Con "return 0;" oppure "return EXIT_SUCCESS;"
ci si assicura che l'host environment riceva la notifica
che l'esecuzione del programma è andata a buon fine.
Si può anche usare la funzione exit.
Altrimenti, senza return, viene ricevuto un valore
non specificato.
Meglio metterlo!


 non specificato.
Lo Standard attuale (C99) consente al 'main' di terminare senza un 'return' 
e stabilisce che in questo caso il comportamento sia identico a quello di 
"return 0".
Max

 che l'esecuzione del programma è andata a buon fine.
Senza dubbio, ma non è obbligatorio metterlo.
E' il default (come da standard), nel caso non venga specificato.

 ha scritto nel messaggio
news:eff0mh$4is$1...@newsreader.mailgate.org...

Vero!
E' in C90 non specificato.

Newsgroup: it.comp.lang.c
Titolo: COME POSSO LEGGERE TUTTA LA STRUTTURA DELLE DIRECTORY DI UN DISCO??'

Come posso fare per leggere tutta la struttura delle directory in C?
Programmo in ambiente DOS.
Grazie
Stefano E-MAIL: 
nep...@freemail.it

Programmo in ambiente DOS.
Per una volta in DOS c'e' una soluzione semplice ed elegante :-) : usi
le funzioni di sistema findfirst() e findnext(). Con findfirst() leggi
la prima entry di una una directory di cui specifichi il path (per
tutta la struttura inizi con c:\), potendo usare pure i  caratteri
jolly. Poi non findnext() leggi tute le entry successive. Vai poi
avanti ricorsivamente per leggere tutto. 
___
Fabio Forno
=============================================
Votate per it.cultura.fantascienza.startrek
=============================================
scia...@inorbit.com
http://rampage.ml.org/sector1/~sciasbat/
=============================================

Stefano E-MAIL: 
nep...@freemail.it
--- SEGUE UN'ALTRA RISPOSTA
Infatti hai ragione! Ma io non voglio sapere i file contenuti in una
directory! Ma tutto l'albero delle directory di un drive!!
Grazie comunque dell'aiuto!!!
Stefano 
nep...@freemail.it

directory! Ma tutto l'albero delle directory di un drive!!
Leggi la ROOT directory, poi per ciascuna sua sottodirectory leggi il
contenuto e vai avanti cosi' fino a quando una directory e' una foglia
dell' albero.
Puoi usare un algoritmo ricorsivo...
...altrimenti uno stack per scendere in profondita' nei vari livelli
dell' albero.
Chiedimi pure se hai dubbi.
Ciao.

>>Programmo in ambiente DOS.
Questo e' il metodo che uso io, usando il Borland C++ 3.1 :
#include <stdio.h>
#include <stdlib.h>
#include <dos.h>
#include <dir.h>
#define TUTTI_ATTRIBUTI   FA_RDONLY | FA_HIDDEN | FA_SYSTEM | FA_LABEL |
FA_DIREC | FA_ARCH
long livello = 0l;
void naviga( char *nome_directory )
{
  struct ffblk info_directory;
  char nome[80];
  int err;
  chdir(nome_directory);
  ++livello;
  _getdcwd(0, nome, 80);
  puts(nome);
  err = findfirst("*.*", &info_directory, TUTTI_ATTRIBUTI);
  while (!err)
  {
     if ((info_directory.ff_attrib & FA_DIREC) &&
	(info_directory.ff_name[0] != '.')) naviga(info_directory.ff_name);
     err = findnext(&info_directory);
  }
  if (livello > 1)
     chdir("..");
}
int main()
{
  char cwd[80];
  _getdcwd(0, cwd, 80);
  naviga("\\");
  chdir(cwd);
  return 0;
}
Andrea Laforgia
(remove NOSPAM from my address before reply via e-mail)
ICQ #8328956
Newsgroup: it.comp.lang.c
Titolo: append di un carattere a una stringa

cosa devo fare se ho un carattere in una variabile di tipo char C e voglio
appenderlo a una stringa S ?
grazie

La prima cosa che mi viene in mente è di inserirlo manualmente:
int main(void)
{
  char stringa[80]={'a','b','c','d',0}; // 0 esplicito
  char caratt= 'e';
  int  pos=strlen(stringa);    // Posizione del teminatore
  stringa[pos++]= caratt;
  stringa[pos]=0;
  puts(stringa);
  return 0;
}
Controlla sempre la dimensione di "stringa" prima di scriverci dentro (o
meglio, fuori...).
Certo che le funzioni belle e pronte sono più pratiche:
int main(void)
{
  char stringa[80]={'a','b','c','d',0}; // 0 esplicito
  char caratt= 'e';
  char tmpstr[80];
  sprintf(tmpstr,"%s%c",stringa,caratt);
  puts(tmpstr);
  return 0;
}
Ma non c'è nessun controllo automatico sulla effettiva "capienza" di tmpstr.
Ci sono comunque almeno altri mille modi per fare ciò che chiedi (per
esempio, trasformare "caratt" in una stringa terminata e usare strcat).
Ciao,
Paolo PAL
++++++++++[>++++++++<-]>.<++++[>++++<-]>+.++++++++++++++.---.+++.<++++++[>--
---<-]>-.---------------.+++++++++++.
"FRaNCeSCo" <?@?.?> ha scritto nel messaggio
news:PzgMa.559$xK6....@news1.tin.it...

Newsgroup: it.comp.lang.c
Titolo: Funzione strcasestr: warning comparison between pointer and integer

Ciao,
ho incluso correttamente l'header string.h come da man page, tuttavia
quando vado a compilare il gcc 3.4.5 mi da l'avvertimento in oggetto su
questa riga:
if ( strcasestr (filename, key) == NULL ) result = TRUE;
Se ometto == NULL non ho il warning. Potreste chiarirmi perchè ?
Grazie,
--
Colossus
Xarchiver, a GTK2 only archive manager -
http://xarchiver.sourceforge.net
Cpsed, a Linux OpenGL 3D scene editor - 
http://cpsed.sourceforge.net
Mizio, a QT proxy hunter scanner tool - 
http://mizio.sourceforge.net

La sintassi della chiamata a strcasestr mi sembra corretta. Potresti
inviare il messaggio di warning?

Ok, questa è la funzione:
gboolean treeview_select_search (GtkTreeModel *model,gint column,const
gchar *key,GtkTreeIter *iter,gpointer search_data)
{
    char *filename;
    gboolean result;
    gtk_tree_model_get(model, iter, 0, &filename, -1);
1218:    if ( strcasestr (filename, key) == NULL ) result = TRUE;
        else result = FALSE;
    g_free (filename);
    return result;
}
e questo l'output:
callbacks.c: In function `treeview_select_search':
callbacks.c:1218: warning: comparison between pointer and integer
gcc  -g -O2   -o xarchiver  main.o support.o interface.o callbacks.o
arj.o zip.o rar.o rpm.o bzip2.o gzip.o tar.o iso.o 7zip.o -lgtk-x11-2.0
-lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0
-lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
make[2]: Leaving directory `/home/gt/Projects/Xarchiver-0.4/src'
Making all in po
make[2]: Entering directory `/home/gt/Projects/Xarchiver-0.4/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/gt/Projects/Xarchiver-0.4/po'
make[2]: Entering directory `/home/gt/Projects/Xarchiver-0.4'
make[2]: Leaving directory `/home/gt/Projects/Xarchiver-0.4'
make[1]: Leaving directory `/home/gt/Projects/Xarchiver-0.4'
-
Colossus
Xarchiver, a Linux GTK2 only archive manager -
http://xarchiver.sourceforge.net
Cpsed, a Linux OpenGL 3D scene editor - 
http://cpsed.sourceforge.net
Mizio, a Linux QT proxy hunter scanner tool -
http://mizio.sourceforge.net

Io non me ne preoccuperei tanto, ho riletto la specifica di strcasestr
e mi sembra che sia tutto corretto. Mi dispiace non poterti dare altro
aiuto, ma secondo me non dovresti preoccuparti di quel warning. Magari,
per eliminarlo, togli "== NULL", come hai detto tu.

Si, l'ho inserita ma niente da fare. La cosa strana è che compilando
la stessa funzione contenuta in un altro codice sorgente (non mio:
http://xarchive.sourceforge.net
) non dà il warning. E non c'è nemmeno
la define ! Boh !
--

Newsgroup: it.comp.lang.c
Titolo: Sottrazione valore double

Salve a tutti,
devo eseguire la sottrazione di due valori double;
il mio problema è il seguente: quando eseguo la sottrazione il valore che mi 
viene ritornato è corretto ma vengono aggiunti una marea di decimali che mi 
sballano i successivi controlli.
Come posso fare?
Grazie.


Da come lo descrivi sembra che tu ti sia incartato con la rappresentazione 
dei numeri floating point (ovvero: la macchina non rappresenta i numeri in 
virgola mobile come tu pensi che faccia...). Sicuramente sbagli i controlli 
(es.: testare l'uguaglianza di due numeri floating con '==' e' praticamente 
sempre una pessima idea).
Puoi fare un esempio di quello che metti dentro e quello che ottieni, di 
cosa di aspetteresti e di che controlli fai?
Pleg


Hai scoperto che la sottrazione tra numeri prossimi in valore assoluto 
fa perdere cifre significative.
Difficile dare un suggerimento sul che fare senza sapere meglio cosa 
succede al risultato nella tua elaborazione successiva.  In molti casi, 
una riscrittura dell'  algoritmo puo'  evitare i problemi della 
cancellazione sottrattiva.  Pero'  e'  difficile andare oltre la frase 
generica di "riscrivi le tue formule in modo equivalente che non 
comporti  sottrazioni",  senza ulteriori informazioni.
Tuttavia, siccome  l'  unica soluzione C standard al tuo problema 
sarebbe "prova con i long double,  se supportati dal tuo sistema",  ti 
suggerirei,  per aiuti su formule alternative, di provare su 
it.scienza.matematica,  dove la domanda sarebbe IT.
Giorgio


Potresti postare il tuo lavoro, così sarebbe tutto molto più facile :)
Newsgroup: it.comp.lang.c
Titolo: tipi variabili

ciao a tutti, mi sono permsso di postare una richiesta che potrą sembrare
stupida ma che mi č indispensabile:
avndo a disposizione una piattaforma intel a 64 bit con linux esiste qualche
libreria particolare per poter dichiarare degli interi "double long" di 64
bit?
E' possibile simulare qualcosa del genere su architettura a 32?
grazie e ciao
Paolo
PS: se cortesemente potete rispondere cc: anche al mio e-mail prsonale ve ne
sarei grato: 
paolo....@aruba.it

bit?
se non erro i long double sono oltre gli 80bit ....
ma non ricordo di preciso... non ho il man del mio compilatore (erano
a 80bit nel 1994!)
Antonio

 >libreria particolare per poter dichiarare degli interi "double long" di
64
Degli interi "double long" ??? ma se sono interi come fanno ad essere
double?
Se cerchi degli interi "interi" a 64 bit la libreria standard (conforme al
c99) ha già il suo tipo "long long" e sotto linux esiste già o almeno esiste
sotto i sitemi *BSD  (quindi dovrebbe esistere anche sotto linux).
Se non dovesse esistere, dichiara una struttura con un campo a bit di 64 bit
ed usalo come se fosse un "long long".
Bye

a 80bit nel 1994!)
Per Antonio: una cosa e' il tipo intero a 64 bit, una cosa
e' il tipo "long double", che e' comunque a virgola mobile e
incompatibile col primo.
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]
Newsgroup: it.comp.lang.c
Titolo: Problema dichiarazione variabile struttura

Salve,
 ho un problema nel dichiarare delle variabili di tipo struttura
localmente a delle funzioni. Mi spiego meglio con un esempio:
Se per esempio faccio questo:
/* Esempio 1 */
#include <stdio.h>
struct persona{
  char nome[20];
  char cognome[20];
  int eta;
} persona1; /* Se dichiaro la variabile persona1 di tipo struttura
persona il    programma funziona*/
void main()
{
 // Codice
 return 0;
}
/* Fine Esempio 1 */
Se invece faccio questo:
/* Esempio 2 */
#include <stdio.h>
struct persona{
 char nome[20];
 char cognome[20];
 int eta;
};
void main()
{
 persona persona1; /* se dichiaro la variabile persona1 di tipo
persona all'interno del main o di una funzione qualsiasi all'interno
del programma, questo mi va in errore!*/
 return 0;
}
/* Fine Esempio 2 */
Sbaglio io in qualcosa o è possibile che ci sia qualcosa che non va
nel compilatore? Devo reinstallare tutto?

 
devi scrivere
struct persona persona1;
altrimenti puoi dichiare la struttura con typedef e quindi 
puoi evitare la parola struct quando dichiari le variabili
typedef struct persona
{
...
};
persona persona1;

 persona persona1; 
per poter utilizzare questa dicitura ti serve la typedef (vedi su),
ovvero:
typedef struct persona{
 char nome[20];
 char cognome[20];
 int eta;
} pers;
pers persona1;
Nota che il nome dopo struct perde abbastanza di importanza, dal
momento che non lo userai mai, a parte (o almeno, io l'ho usato sono
per quello) nei casi in cui, nella stessa struct, ti vuoi riferire
alla stessa struct. Un tipico esempio e' il nodo:
typedef struct nodeXXX{
	struct nodeXXX *next;
	int value;
} node; 
(contiene un valore ed un puntatore ad un altro elemento uguale, e
viene usato per creare strutture dinamiche come stack, code, set...)
Ciao,
Zeppe

Grazie mille a tutti davvero!
 sicuramente mi documenterň meglio sull'utilizzo di typedef. Per ora
ho fatto con il modo piů semplice, ovvero, con la dichiarazione:
struct persona persona1.

Puň essere che tu sia stato tratto in inganno dal fatto che in C++ la forma
che avevi usato č perfettamente corretta (sě, in C++ hanno reso inutile
quello strano bizantinismo)
--- bye
Newsgroup: it.comp.lang.c
Titolo: RunOnce e fratelli

Buongiorno a tutti,
qual č la differenza fra Run, RunOnce, RunOnceEx, RunServices and 
RunServicesOnce ?
Il loro comportamento varia tra Windows 95 (famiglia) e Windows NT 
(famiglia) ?
Ho trovato RunOnce in HKLM, HKCU e HKU\.DEFAULT, quali sono presi in 
considerazione quando un utente si logga oppure quando si preme Escape al 
logon ?
Inoltre, qual č l'ordine di esecuzione di queste chiavi ?  e dei comandi 
all'interno delle chiavi ?
Grazie infinite
	Paolo

 RunServicesOnce ?
Dunque, Run e RunOnce avviano applicazioni.
RunServices e RunServicesOnce avviano servizi.
Se è Once, viene avviato una sola volta dopo il riavvio e, dopo che viene
avviato, viene eliminato/spostato da Once.
Per esempio, quando installi un applicazione, il setup metterà in RunOnce le
istruzioni per registrare le DLL, cosa che windows farà e dopo averlo fatto
cancellerà suddette istruzioni.
RunOnceEx non ho idea di cosa sia ma MSDN dovrebbe spiegarlo (perchè in MSDN
non ci mettono anche le ricette per cucinare? Mancano solo quelle) :-)
Ciao
Bald0z

Buongiorno a tutti,
qual č la differenza fra Run, RunOnce, RunOnceEx, RunServices and 
RunServicesOnce ?


Buongiorno a tutti,
Sei fuori argomento qui dentro.
Rivolgiti a it.comp.programmare.win32.
NON CROSSPOSTARE.
-- 
The Follet

 (famiglia) ?
non penso
Inoltre esistono delle API per aggiungere/rimuovere programmi oppure bisogna
passare direttamente dal registry ?
hai provato nel NG borland.public.delphi.winapi ?
ciaoo
Solid Snake IT
"Nemo mortalium omnibus horis sapit" (Plinio il VECCHIO)
Newsgroup: it.comp.lang.c
Titolo: allocazione dinamica di un vettore

Salve a tutti nel newsgroup,
ho provato ad allocare un vettore in memoria nel seguente modo:
typedef unsigned char byte;
byte * data = new byte[230400];
eseguendo il codice ottengo un vettore di dimensione più piccola.
Esiste per caso un limite massimo di elementi allocabili? e questo
limite è inferiore a 230400?
Grazie

 byte * data = new byte[230400];
il new mi sembra piu' da C++ che da C, quindi e' meglio se
vai sul gruppo C++.
In ogni caso come fai a sapere che il vettore allocato
e' piu' piccolo ?
hai provato con una sana malloc ?
data = malloc(230400);
g.

Giovanni Resta <g.r...@iit.cnr.it.nospam> wrote in 
news:3E9599E6...@iit.cnr.it.nospam:

Uso C++ Builder che mi permette di fare l'inspect delle variabili ed in 
caso di un vettore mi restituisce i valori degli elementi. Nel mio caso 
mi restituisce i valori di molti meno elementi allocati. Ecco come faccio.
Comunque ti ringrazio per il suggerimento di utilizzare una malloc().
Ciao

Newsgroup: it.comp.lang.c
Titolo: Problema lettura da file!

Ciao a tutti, il mio problema è il seguente, immagino per voi semplicissimo:
Devo aprire un file .txt e leggere il contenuto della prima riga!
Ho provato con fscanf, ma a quanto pare legge solo la prima stringa, ho 
provato con fgets, ma io la lunghezza della riga non la so a priori, poi 
ho provato con fgetc, ma non riesco a capire come siano codificati 
spazio ed invio!
Un grazie di cuore a chiunque voglia aiutarmi!
Francesco
-- 
Per rispondermi in privato togliere NOSPAM

 Francesco
Ciao
Mtc`

 Un grazie di cuore a chiunque voglia aiutarmi!
Prego.
Saluti,
Marco

Newsgroup: it.comp.lang.c
Titolo: C++ con C?

dovendo utilizzare delle librerie in C++ con un programma in C, i vari 
moduli (le funzioni) delle classi C++ possono essere chiamati dal 
programma C?non devo considerare le gerarchie di classi, sottoclassi, 
ecc.? Basta includere l'header file che fa riferimento a quella 
determinata classe per poter invocare il modulo ocme una funzione normale C?
e sennň, come?
grazie

 e sennò, come?
In linea di massima, da un programma C non puoi chiamare funzioni C++, e men
che meno i metodi di una classe.
Al massimo, puoi riuscire fare il contrario: chiamare funzioni C da un
programma C++.
--
Cingar
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 programma C++.
A meno di non wrappare tutto in una serie di funzioni ficcate in un
blocco
extern "C" {
}
di un sorgente C++.
Con un certo lavoro (e parecchi void*) non dovrebbe essere impossibile
usare anche classi e metodi.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG