mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: Errore con gethostbyname

Eseguendo questo programma mi da errore in allocazione di memoria dicendo
che non poteva essere read. Per favore mi potete aiutare?
Grazie.
#include <windows.h>
#include <winsock.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
  char *hostname;
  struct hostent *myhost;
  int i = 0;
  if (argc < 2)
    {
       printf("Use: go [host] \n");
       exit(-1); }
       else {
              hostname = (char *)malloc(20);
              strcpy(hostname, argv[1]);  }
  myhost = gethostbyname(hostname);
  printf("%d\n", myhost->h_addrtype);    Esattamente nell'esecuzione di
questa riga da errore
program stop running and print msgerror.
  printf("%d\n", myhost->h_length);
 return 0;
}

   myhost = gethostbyname(hostname);
E se fosse gethostbyname() a restituire NULL? Magari e hostname a non
esistere.
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:5ba9bb5e8438cb03287...@mygate.mailgate.org...


 Ho provato con delle printf e si blocca proprio eseguendo quella riga.
Ho capito che si blocca sulla printf(), ma hai controllato cosa
restituisce gethostbyname()?


 ha scritto nel messaggio
news:99d5056ba5f6b027020...@mygate.mailgate.org...


 Ho provato a stampare il contenuto di myhost e mi da 0
Ecco adesso prova a chiamare
WSAGetLastError()
ti dovrebbe dare il codice di errore WSANOTINITIALISED.
 
Poi, visto che questo e' un problema specifico di Windows, chiedi
maggiori informazioni su come programmare le socket di Windows
su it.comp.programmare.win32.
HTH


 ha scritto nel messaggio
news:53a533b54e350a61a2f...@mygate.mailgate.org...


Newsgroup: it.comp.lang.c
Titolo: rilevazione collegamento internet

Salve,
vorrei fare un programma che attraverso i segnali rilevi la
disconnessione del modem/router ad internet e la successiva
connessione.Cosa mi consigliate?Dove posso trovare delle guide?Vi
ringrazio in atttesa di un vostro aiuto.


uh? controllare il codice d'uscita di un ping?

and ha scritto:

1. Sotto che sistema operativo ?
2. Che tipo di modem?
     Analogico o router ADSL o di entrambi i tipi?
3. Questa e' non e' proprio una questio C :-)
B.

 B.

 ci sono delle funzioni?relativa documentazione?
Per gestire modem seriali, vedi la documentazione della
linea seriale di Linux per la gestione dehgli handshake
hardware (RTS/CTS/DTR/DSR e Ring Indicator) poi per i
comandi, cerca i comandi per modem AT compatibili.
In generale e' possibile lavorare anche senza segnali di handshake
hardware e interpretare le stinghe AT per cambiare di stato.
Per i modem router adsl, credo ti riferisca a quelli
con connessione Ethernet, devi vedere la ducumentazione
specifica: quasi tutti hanno delle pagine HTML che danno
varie informazioni, anche sulla connessione ADS, ma sono
purtroppo modem-dependent.
Un sistema semplice, come ti e' gia' stato consigliato
potrebbe essere quello di fare un ping
a un sito noto a scadenza periodica e verificare che
risponda.
B.
Newsgroup: it.comp.lang.c
Titolo: Vendo VB.Net,VC++.Net,VS.Net,VB6.0,VC++6.0 NUOVI e ANCORA IMPACCHETTATI.

Salve a tutti, come da oggetto ho la possibilità di vendere copie di Visual
Basic .NET italiano, Visual C++ .NET italiano, Visual Basic 6.0 ita, Visual
C++ 6.0 ita, Visual Studio .NET ita.
Per i prezzi contattatemi.
giusepp...@softhome.net
I pezzi sono perfettamente regolari, nuovi ancora impacchettati. Le licenze
sono a posto.
Ho solo le versioni complete e non aggiornamenti.
Ciao a tutti

 wrote in message
news:x%hga.18400$
i26.4...@news2.tin.it

-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 C++ 6.0 ita, Visual Studio .NET ita.
Appena avrai la possibilita' di leggerti il manifesto del gruppo (o
una FAQ che ti informi del significato di spam sui NG) fallo! E' molto
istruttivo.
C:\>iao Angelo


 ha scritto nel messaggio
news:97c296c074e52ab60c5...@mygate.mailgate.org...


 Scusate!!!!!! Prometo che se mai lo rifarò scriverò OT!!!
Invece di fare il buffone leggiti qualche FAQ (scrivere OT non e'
che ti salva da chi vuole farti notare che questo non e' il mercatino
delle pulci).
Esistono dei NG appositi per gli annunci commerciali. Ma a te di questo
non ti frega una beata fava visto che e' (almeno) dal 25/11/2002 che
tenti di sbolognare "una copia di Visual Studio .Net 2002 Professional
perfettamente in regola, nuovo ancora impacchettato ricevuto in
pagamento per un servizio dato".
Ora o quello che vuoi vendere e' sempre la stessa copia, allora sei
pregato di smetterla di rompere e trovare un altro mezzo per i tuoi
annunci.
O e' sempre una copia diversa, allora sei pregato di svegliarti: in
Italia la  moneta corrente e' l'euro non le copie di Visual Studio
.NET


 
no, non hai capito... NON lo devi rifare...
Adieu,
-- 
Lestat de Lioncourt  -- a.k.a --  Ciro Mattia Gonano
 Undergraduate student in Computer Science at University of Bologna
 IHGGer #1049   <=>  ICQ#: 52631406   <=>   URL: 
http://www.CS.UniBO.It/~gonano
 Debian admin at 
Students.CS.UniBO.It
 <=> look at headers for my JabberID & GPG

Vedo che non sei in grado di capire quando uno ammette i propri errori.
Va bene, fai pure il guardiano del ng, non mi interessa.
Spero solo che questo problema rimanga fra noi e non crei un inutile
discussione.
Comunque, a scanso di equivoci:
NON SCRIVERò MAI PIù UNA COSA DEL GENERE.
Ok?
Problema risolto.
Ciao a tutti.

 Spero solo che questo problema rimanga fra noi 
Ti garantisco che per me non c'e' mai stato nessun problema.
Se tu ritieni di averne nei miei riguardi, la mia mail e' aperta.
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: vettore di puntatori

Ciao a tutti,
ho una struttura cosě definita per la creazione di un albero k-ario:
struct nodok {
     int value; /* informazione */
     int figli; /* numero dei figli */
     struct nodok **F; /* vettore di puntatori ai figli */
};
e nella mia funzione ho la seguente riga di codice:
nodok->F[i]=malloc(sizeof(struct nodok *));
dove i all'inizio č uguale a 0. Il programma viene compilato correttamente,
ma appena arriva alla riga precedente mi da l'errore
Exiting due to signal SIGSEGV
General Protection Fault at eip=00001aac
ecc ecc...
So che si tratta di questa riga perchč la printf che sta immediatamente
prima stampa correttamente.
Cosa c'č di sbagliato?
Grazie
Fabrizio

 nodok->F[i]=malloc(sizeof(struct nodok *));
Prima di allocare lo spazio per i singoli nodi figli devi allocare l'array
che dovra' contenere i puntatori a nodi figli !
nodok->F = (struct nodok **) malloc (20 * sizeof (struct nodok *));
(Esempio di allocazione dell'array per max. 20 nodi figli)
A quel punto puoi fare tranquillamente:
nodok->F[i]=malloc(sizeof(struct nodok *));
dove i va da 0 a n (e nel caso sopra, 19).
Quando poi deallochi tutto dovrai liberare pure l'array, ovviamente.
Ciao.

 (Esempio di allocazione dell'array per max. 20 nodi figli)
ma se io non so ancora quanti figli ho? Posso allocare un indice (o meglio
un puntatore) per volta in modo da non avere sprechi?


Comunque non puoi usare un'array prima di averla costruita    :)
Per poter scrivere :
        nodok->F[i]=malloc(sizeof(struct nodok *));
devi prima averlo l'elemento   nodok->F[i]    , quindi devi allocare.
Se vuoi poter variare la lunghezza dell'array,
usa   realloc()
Altrimenti lascia perdere l'array e fai una linked list.
Ciao
E.

Newsgroup: it.comp.lang.c
Titolo: Utilizzo delle macro con stringhe di caratteri

Salve a tutti,
vorrei sapere se e` possibile definire macro C in modo da inserire i 
parametri di input della macro stessa all'interno di stringhe.
Vorrei cioe` fare qualcosa del genere:
#define token2string(token) ...
void example(void)
{
int myvar = 5;
     printf("value of %s=%d\n", token2string(myvar), myvar);
}
L'output di questo programma dovrebbe quindi essere:
value of myvar=5
E` possibile?
Grazie
A.


Si:
#define TOKEN2STRING(tok) #tok
L'utilita' di questa macro e' comunque limitata.
In generale usi questo operatore in macro di comodita':
#define PRINT_VAR(var) printf("value of %s=%d\n", #var, (var))
Cosi' il tuo programma diventa:
void example(void)
{
        int myvar = 5;
        PRINT_VAR(myvar);
}

 #define TOKEN2STRING(tok) #tok
Thanks!!!
Funziona :-)
Newsgroup: it.comp.lang.c
Titolo: Selection Sort

ciao a tutti...
qualcuno può aiutarmi..avrei bisogno dell'algoritmo di Selection Sort 
nella forma riocrsiva però...io nn riesco a farlo!!!!
vi ringrazio anticipatamente
-- 
Renato Zero
Provaci a riemergere, da quei sogni che il tuo silenzio ha ucciso...che 
ne sai, dell'origine, delle lacrime, se non ha mai pianto...provaci, a 
scommettere, che al traguardo tu non sarai secondo...agile è 
quest'anima,  non puoi vincerla, non la puoi ingannare più......PROVA A 
PRENDERMI......

 nella forma riocrsiva però...io nn riesco a farlo!!!!
Ma che impararei finquando ti farai risolvere i problemi dagli altri ?
Mah... questo poi è un algoritmo veramente banale...
Comunque il codice sorgente è di seguito:
/*
root@andrea:/home/andrea/selsort # gcc -o selsort selsort.c
root@andrea:/home/andrea/selsort # ./selsort
-2;-3;5;2;1;7;6;
-3;-2;1;2;5;6;7;
*/
#include <stdio.h>
#include <stdlib.h>
void selsort(int *a, int n)
{
     int i, j, t;
     for (i=0; i<n-1; i++)
     {
         int min = i, t;
         for (j=i+1; j<n; j++)
         {
             if (a[i]>a[j]) 
             {
                t = a[i];
                a[i] = a[j];
                a[j] = t;                
             }
         }
     }
}
void array_write(int *a, int n)
{
     int i;
     for (i=0; i<n; i++)
     {
         printf("%d;", a[i]);
     }
     printf("\n");
}
int main()
{
    int a[] = { -2, -3, 5, 2, 1, 7, 6 };  
    int n = sizeof a / sizeof a[0]; 
    array_write(a, n);
    selsort(a, n);
    array_write(a, n);
    return 0;
}
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 nella forma riocrsiva perņ...io nn riesco a farlo!!!!
google?
Tommaso 

 > nella forma riocrsiva però...io nn riesco a farlo!!!!
void selsort(int *a, int n, int start_idx)
{
    if (start_idx < n)
    {
       int min = start_idx;
       int i, t;
       for (i=start_idx+1; i<n; i++)
       {
           if (a[i]<a[min])
             min = i;
       } 
       t = a[start_idx];
       a[start_idx] = a[min];
       a[min] = t;
       selsort(a, n, start_idx+1);       


grazie

Newsgroup: it.comp.lang.c
Titolo: Ultima 9 : REJOICE!!!!

Ecco qeusto sensazionale articolo apparso su 
ultima.scorched.com
 :-)
Ed Del Castillo leaves Origin
11:55pm
Gamespot News has a shocker of an article up titled Ultima: Ascension
Producer Leaves. The article states that Ed Del Castillo is leaving
immediately, and Richard Garriott will take charge of the project.
Further details should be released next week. The departure is
apparently attributed to "philosophical differences".
If you've been following the Ascension trail of tears over the last
few months you should know that Del Castillo has been the most visible
whipping post for fans concerned with Ascension's departure from the
traditional RPG. No doubt this announcement is going to cause much
well-meaning rejoicing amongst the hard-core fans, but I would like to
say a few things before the parties get started.
Foremost, nobody has said what Ed's departure will mean for the future
development of the game. There is a good possibility that development
has progressed so far that the team will forge ahead with the same
design goals. Those of you who think that this announcement is
synonymous with the return of a party system (already suggested to me
several times) or any other facet of the game that was not slated for
inclusion may be extremely disappointed.
Probably more important is that the primary architect of this "new
direction" for Ascension is now gone. The entire concept was on shaky
ground to start with, but after my talks with Ed at E3 I had
confidence that he could make it work in some fashion as a cohesive
game when all was said and done. This opportunity has now been
removed.
Whatever the ultimate result, I think we can assume that there will be
no new Ultima in 1998.
  Adalberto Simeone -==(U.D.I.C.)==- Avenger Dragon
       E-Mail: 
lafc...@tin.it
 UIN: 1414193

On Sun, 19 Jul 1998 16:26:07 GMT, 
lafc...@tin.it
 (Avenger Dragon)
wrote:
Dannazione ogni tanto anche Agent da problemi (e anche io a volte)
questo doveva finire su it.comp.giochi.. Scusate

Newsgroup: it.comp.lang.c
Titolo: PropertySheet e array di controlli in VC++

Salve a tutti,
avrei urgente bisogno di aiuto su questi punti:
1) c'è un modo per fare un array di controlli? In particolare mi servirebbe
un array di edit box.
2) c'è qualche controllo che mi faccia una tabella editabile (che non sia
una flexgrid con una edit box che si sposta a seconda di dove è stato
premuto)?
3) come faccio a mettere un menu ad un PropertySheet?
Grazie per l'aiuto.
Camilla
--------------------------------
Inviato via 
http://usenet.libero.it

 3) come faccio a mettere un menu ad un PropertySheet?
   Ti consiglio di chiedere su un gruppo di discussione appropriato. 
Followup-To it.comp.programmare.win32 impostato.
-- 
Alla prossima,
Marco

Grazie!

Newsgroup: it.comp.lang.c
Titolo: realloc e puntatori di puntatori a struttura.

ciao a tutti...
ho un probelma con i puntatori che non riesco a risolvere.
O meglio, non riesco a capire dove sia l'errore (di sintassi).
spero che qualcuno mi possa dare una mano.
Il codice che segue utilizza un array dinamico di puntatori a
puntatori di tipo "solution" dove solution è una banalissima
struttura.
il problema è che la chiamata a reloc fa abrotire il programma.
sapreste dirmi dove stò sbagliando?
------
//collection
#define COL_BLOCK 10
typedef char bool;
typedef char byte;
struct solution{
	byte Matrix[MATRIX_WIDTH][MATRIX_WIDTH];
	byte Value;
	byte Status;
};
typedef struct solution solution_type;
solution_type **slColBase;
solution_type **slColIndex;
size_t stColSize;
	//solution_type *sl;
	stColSize=COL_BLOCK;
	slColBase= (solution_type **) malloc(stColSize*sizeof(solution_type
*));
	if (slColBase!=NULL){
		slColIndex=slColBase;
		*slColIndex=(solution_type *)calloc(1,sizeof(solution_type ));
		if(*slColIndex!=NULL){
			Seek (*slColIndex,1,1);
		}
... altre righe di codice...
					slColIndex++;
					size_t stColIndexDiff=slColIndex-slColBase;
					if (stColIndexDiff>stColSize){
						stColSize+=COL_BLOCK;
						solution_type **slNewBase=(solution_type **)
realloc(slColBase,stColSize*sizeof(*slNewBase));
						if (slNewBase!=NULL){
							slColBase=slNewBase;
							slColIndex=slColBase+stColIndexDiff;
						}
					}
					*slColIndex=(solution_type *)malloc(sizeof(**slColIndex));
----
grazie mille.

 realloc(slColBase,stColSize*sizeof(*slNewBase));
Cosi' a occhio non c'e' niente di troppo strano. Sei sicuro che qui 
slColBase abbia sempre un valore corretto?
Per riuscire a darti una mano serve un pezzo di codice il piu' corto 
possibile che sia compilabile e che manifesti il problema, altrimenti si 
fa fatica a capire dove sta il problema.
ciao
Giacomo
Newsgroup: it.comp.lang.c
Titolo: Algoritmo per distribuzione equa di valori

Scusate il titolo ma non sapevo come descrivere brevemente l'algoritmo 
che mi serve.
Dati in ingresso: una sequenza di numeri pseudo-casuali, il numero di 
partizioni in cui deve essere ripartita la sequenza.
Definizione: il valore di ogni partizione è uguale alla somma di tutti i 
numeri contenuti nella partizione stessa più il numero di elementi che la 
compongono (i.e. partizione = {5, 3, 5} valore = 5 + 3 + 5 + 3 = 16)
Obiettivo: trovare la distribuzione migliore dei numeri che più avvicini 
il risultato all'equivalenza:
valore(partizione_0) = valore(partizione_1) = ... = valore(partizione_N)
l'algoritmo migliore a cui sono arrivato è:
ordinare i numeri di partenza per grandezza discendente,
posizionare ogni valore (quindi dal più grande al più piccolo) nella 
partizione con valore minore fino ad esaurire tutti i numeri.
vi chiedo dunque se vi viene in mente qualche algoritmo migliore e se 
secondo voi quello appena descritto è valido.
grazie in anticipo,

 secondo voi quello appena descritto è valido.
ciao.
Questo argomento e' un po' fuori tema in questo gruppo. Prova a
mandare la domanda su un gruppo piu' specifico per gli algoritmi, tipo 
it.comp.programmare
ciao
Giacomo

 partizione con valore minore fino ad esaurire tutti i numeri. [...]
Premetto che non sono esperto di algoritmi.
La soluzione che descrivi mi sembra quella con il minore rapporto tra
tempo impiegato ed efficacia numerica. Non rappresenta però la
migliore efficacia numerica in assoluto.
Ad esempio, per la sequenza 5 4 3 3 3 3 3 3 (3 partizioni)
l'algoritmo che proponi restituisce le partizioni
{ 5, 3 } -> 10 { 4, 3, 3 } -> 13 { 3, 3, 3 } -> 12
mentre l'ideale sarebbe
{ 5, 4 } -> 11 { 3, 3, 3 } -> 12 { 3, 3, 3 } -> 12
Il programma potrebbe mostrarne il risultato e poi cercare di
ottimizzarla con un secondo algoritmo, restituendo in continuazione
eventuali soluzioni migliori dell'ultima fino alla pressione di CTRL-
C.
Ad esempio, un semplice ma efficace algoritmo di ottimizzazione
potrebbe scambiare con criterio singoli numeri tra le partizioni.
Se i numeri in ingresso sono pochi si potrebbero anche calcolare tutte
le combinazioni possibili.
Ciao
--
enos76



Chiedo scusa.
Avevo notato nel manifesto che era permesso postare domande sugli 
algoritmi e quindi ho osato :-)
Prendero' nota del NG che mi hai citato.



ti ringrazio della risposta.
tuttavia la funzione principale del programma che sto' scrivendo non e' 
quella di distribuire equamente valori in delle partizioni, anzi, questa' 
funzionalita' e' del tutto marginale e trascurabile.
il problema che volevo risolvere era di distribuire in modo 
ragionevolmente buono dei risultati in delle colonne stampate a schermo.
in pratica ogni partizione rappresenta una colonna e ogni numero 
rappresenta il numero di righe a schermo necessarie per stampare il 
risultato (il +1 per ogni numero e' per includere anche il titolo di ogni 
risultato)
quindi non mi serve la soluzione migliore in assoluto, ma una soluzione 
accettabile.
non mi ero spiegato bene ma ti ringrazio comunque per la risposta e i 
consigli.
Newsgroup: it.comp.lang.c
Titolo: Stringhe di testo

Salve a tutti,
ho iniziato da poco a programmare in c.
Vorrei chiedere alla lista come si fa per testare se una stringa di
testo, nella parte iniziale contiene
la scritta $HOME, e poi mi piacerebbe sostituirla con la variabile
d'ambiente.
Es.
stringa:
$HOME/estrazioni/skeda.seq
Però non tutte le stringhe del testo che leggo tramite la funzione
"fgets(pstringa, LIMITE_MAX, fd)"
contengono $HOME.
Come si fa?
Grazie
ciao
Marco

xtas02 ha scritto:

Leggi un pò le varie funzioni str.
strncmp per fare il compare di n caratteri
strncpy per copiare n caratteri
etc

xtas02 ha scritto:

OT {
Se devi usare filtri del genere in modo "produttivo" ti consiglio di 
usare strumenti o linguaggi di programmazione diversi dal C.
Un filtro del genere si ottiene facilmente (per es.) con Perl,
eg.:
perl -ne 'BEGIN {$home=$ENV{"HOME"}} s/^\$HOME\b/${home}/; print'
}
Invece, con il C, per raggiungere un risultato simile o equivalente e' 
piu' impegnativo...
Cmq, messa a letto la famiglia :) , eccoti un esempino:
(PS: per il recupero della variabile d'ambiente usa la getenv() 
passandogli come stringa la var. senza '$' davanti. Ricordati di 
controllare, infine, che restituisca un puntatore valido - non NULL - da 
assegnare alla var. pReplace.)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <locale.h>
#include <assert.h>
/* l'implementazione e' semplificata, MAX_LINE_BF
deve essere abbastanza ampio! */
#define MAX_LINE_BF  8192
int main(void)
{   char bf[MAX_LINE_BF];
     int nLenSearch, nLenReplace;
     char *pSearch  = "$HOME";
     char *pReplace = "stringa di rimpiazzo";
     nLenSearch = strlen(pSearch);
     nLenReplace = strlen(pReplace);
     assert(nLenReplace < sizeof(bf));
     setlocale(LC_CTYPE, "C"); /* per isalnum() */
     while(fgets(bf, sizeof(bf), stdin))
     {   if(nLenSearch > 0)
         {   /* si cerca solo all'inizio della linea */
             if(0 == strncmp(bf, pSearch, nLenSearch))
             {   int ch = bf[nLenSearch];
                 /* si potrebbe provare a controllare che sia una parola
                 intera.  Nel ns. caso il controllo potrebbe essere: */
                 if(ch == '\0' || (!isalnum(ch) && ch != '_'))
                 {   int dx = nLenReplace - nLenSearch;
                     /* lungh. str. risultante */
                     int nLenRes = strlen(bf) + dx;
                     if(nLenRes > (sizeof(bf)-1))
                         nLenRes = sizeof(bf)-1;
                     assert(nLenRes >= 0 && nLenReplace <= nLenRes);
                     if((nLenRes - nLenReplace) > 0 && nLenReplace != 
nLenSearch)
                         memmove(bf + nLenReplace, bf + nLenSearch, 
nLenRes - nLenReplace);
                     if(nLenReplace > 0)
                         memcpy(bf, pReplace, nLenReplace);
                     bf[nLenRes] = '\0';
                 }
             }
         }
         fputs(bf, stdout);
     }
     return(0);
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ciao
-- 
Cybertoldo
Per rispondermi via email, sostituisci moc.liamg con 
gmail.com
Newsgroup: it.comp.lang.c
Titolo: iniziare .. da GCC

Salve a tutti!
Se un utente che volesse inziare a programmare in linguaggio C, utilizzando 
il Gnu C compiler ...
da dove dovrebbe iniziare per ottenere il classico "hello world!" ?
Intendo dire .. ok, scarico il compilatore, ma poi ? mi scrivo i file con il 
notepad e li faccio compilare con istruzioni dirette al compilatore .. 
oppure c'è qualche IDE che mi aiuta nel'imbastire un progetto (eclipse?).
grazie 

 grazie
--
Ciao Neo

 code::blocks e chissà quanti non ne conosco!
me ne consigli uno in particolare per Gcc? cioè, la maggior parte di quelli 
che usano Gcc che IDE usano ?

 quelli che usano Gcc che IDE usano ?
Non ne usano :-P
Usano VIM o Emacs che hanno tutto quello che farebbe un IDE; io 
personalmente ti consiglio VIM, è un po' difficile da imparare, ma è 
potentissimo e leggero
-- 
"Le opinioni dei fanatici prescindono dai fatti"
python -c "print 'bG9ybWF5bmFAZ21haWwuY29t'.decode('base64')"
Linux Registered User: 461615
http://lmainardi.blogspot.com

 potentissimo e leggero
uhm... scusami l'ignoranza..
ma è possibile  mettere breakpoint per il debug in questi editor? 



Come hai scritto sono editor non strumenti di interfaccia per il 
debug, per questo dovresti usare gdb che è il debugger GNU.  Ci sono 
interfacce grafiche per gdb, fra cui ddd per unix.  devi vedere se c'è 
una versione per windows.
In ogni caso se intendi andare sulla strada di usare un editor anche 
notepad va bene.  Se vuoi fare qualche programma un po' più complesso 
è anche importante imparare a scrivere e gestire i makefile usando il 
programma make per generare gli eseguibili.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

 debug, per questo dovresti usare gdb che è il debugger GNU.
Puoi anche usare gdb da Vim: 
http://clewn.sourceforge.net/
.
Max

 progetto (eclipse?). grazie
Se stai usando Windows ti consiglio di scaricarti Devcpp (che ha già 
incorporato il compilatore gcc). Mi sembra fatto bene...
Se usi Linux, hai varie possibilità: 
Per scrivere il codice puoi usare nedit, gedit (che ha l'evidenziazione 
del codice non solo del C, ma di un sacco di altri linguaggi di 
programmazione :) ).
Per compilare, si apre la shell e si inserisce il comando:
gcc -o destfile srcfile.c
o semplicemente gcc srcfile.c , dove per aprire il file bisognerà 
scrivere successivamente:
./a.out
Spero di esserti stato chiaro!!! :D

*FeDe* ha scritto:

Non è male Kdevelop, io lo utilizzo e mi trovo bene. Per il debug 
utilizza gdb con cui puoi inserire break point e watch dall'interfaccia 
che ti fornisce l'ide oppure puoi dargli da un'apposito campo i comandi 
come se stessi eseguendo gdb da shell. Ti consiglio comunque di vederti 
come funziona il gdb, il gcc e gli autotools in modo da poter poi 
configurare al meglio questi strumenti da kdevelop
Newsgroup: it.comp.lang.c
Titolo: domanda... ...

quale algoritmo usare per comprimere un char[6] alfanumerico
in un char[5] ?
grazie.

in un char[5] ?
Nel caso generale ovviamente non e' possibile, ma la cosa
e' forse fattibile se il campo da 6 caratteri di partenza
ha delle limitazioni su quali possono essere i caratteri.
Se ad esempio sono ammesse solo lettere maiuscole, cifre
e lo spazio allora arrivi ad usare solo 26+10+1 = 38
caratteri e quindi un codice lungo sei caratteri puo'
essere compresso in log2(38**6) -> 32 bit.
Un esempio che usa questo sistema per comprimere 6 caratteri
in 4 e' il seguente:
  #include <stdio.h>
  #include <string.h>
  #include <assert.h>
  /* Elenco caratteri ammessi */
  #define LISTSIZE 38
  const char *list = "0123456789"
                     "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
                     " ";
  #define FIELDSIZE  6 /* Numero caratteri in input */
  #define PACKEDSIZE 4 /* Numero caratteri in output */
  /* Compressione */
  void encode(const char source[],char dest[])
  {
    int i;
    unsigned long acc=0; /* Accumulatore risultato */
 
    assert(source!=NULL && dest!=NULL);
 
    /* Calcolo valore compresso */
    for(i=0; i<FIELDSIZE; i++)
    {
      const char *s = strchr(list,source[i]);
      assert(s!=NULL);
      acc = acc*LISTSIZE + (s-list);
    }
 
    /* Scrittura output */
    for(i=0; i<PACKEDSIZE; i++)
    {
      dest[i] = (acc & 255);
      acc = acc >> 8;
    }
  }
  /* Decodifica */
  void decode(const char source[],char dest[])
  {
    int i;
    unsigned long acc = 0;
    assert(source!=NULL && dest!=NULL);
 
    /* Lettura valore compresso */
    for (i=0; i<PACKEDSIZE; i++)
    {
      acc += (source[i] & 255LU)<<(i*8);
    }
 
    /* Decodifica */
    for (i=FIELDSIZE-1; i>=0; i--)
    {
      dest[i] = list[acc%LISTSIZE];
      acc /= LISTSIZE;
    }
  }
  int main(int argc,char *argv[])
  {
    int i;
    char buf1[FIELDSIZE]="A6502G";
    char buf2[PACKEDSIZE];
    char buf3[FIELDSIZE];
    encode(buf1,buf2);
    decode(buf2,buf3);
    for (i=0; i<FIELDSIZE; i++)
      putchar(buf3[i]);
    putchar('\n');
    return 0;
  }
Per poter dire di piu' sul tuo caso e' pero' necessario
avere dettagli maggiori... ad esempio:
 - il campo di partenza e' di lunghezza fissa oppure
   variabile ?
 - sono ammessi tutti i caratteri o solo alcuni ?
 - sono presenti altre regole che si possono sfruttare
   (ad esempio il campo e' sempre composto da lettere
   seguite da numeri - e non "mischiato") ?
 - il campo di destinazione ha delle limitazioni (ad
   esempio non si puo' usare il carattere '\0') ?
 - puo' aver senso usare tabelle di lookup per parti
   del codice oppure per tutto il codice stesso ?
HTH
Andrea
Newsgroup: it.comp.lang.c
Titolo: Programmino

Avrei bisogno di fare un programa al quale inserisco il path di una 
cartella e lui mi scrive su un file .txt i nomi dei file contenuti in essa.
Qualcuno mi può aiutare???
-- 
Zarathustra
(18/22 PO 80 B/S; S)
Parkpre, LeeCougan and Eleven munito

 Qualcuno mi può aiutare???
Certo. Supponendo che la tua "cartella" sia Tizio/Caio e che il tuo file di
testo sia Sempronio.txt, in qualsiasi sistema Unix o simili (es. Linux) il
programma che cerchi è:
    ls -1 /Tizio/Caio > Sempronio.txt
Se invece sei su DOS o simili (es. Windows), il programma che cerchi è:
    dir /b C:\Tizio\Caio > Sempronio.txt
Se sei su un altro tipo di sistema operativo, guarda il manuale, ché un
equivalente di "ls" e "dir" c'è senz'altro.
--
Cingar
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Zarathustra wrote:
| Avrei bisogno di fare un programa al quale inserisco il path di una
| cartella e lui mi scrive su un file .txt i nomi dei file contenuti in
essa.
| Qualcuno mi può aiutare???
Se sei su linux è più pratico uno script per la shell...
ls /path/*.txt > file-in-cui-salvare-i-nomi
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - 
http://enigmail.mozdev.org
iD8DBQFBgjssryrMZEyu98wRAmPWAKCGoM4kRmASqsG8NXmnfDxnuff22gCbBtVR
atd44fHeOtWQFMsF4CJuuzE=
=MIh8
-----END PGP SIGNATURE-----

 Qualcuno mi può aiutare???
Dipende molto dalla piattaforma in cui devi programmare. Linux o Windows?
SErgio
-- 
"Two plus two gives five, for extremely large values of two."
..ooOO <sedimico chi@cci@la libero p.u.n.t.o. it> OOoo..
Linux Registered User #366688
on 
http://counter.li.org

 ls /path/*.txt > file-in-cui-salvare-i-nomi
ls -A $path > file-in-cui-salvare-i-nomi
-- 
oggi no, domani sì

 SErgio
Grazie mille!!!
Ho risolto facendo un semplice file batch.E dire che sono cresciuto col 
DOS....

Newsgroup: it.comp.lang.c
Titolo: AIUTOOOOOO!! HO UN PROBLEMA!!!

 wrote:
Dovresti postare il sorgente, non l'eseguibile.
Ciao
Robby
			  /:= Linux Powered =:/
  	    /:= e-mail: metti "libero" al posto di "NOSPAM" =:/

 Ciao
cosa significa??? Io ho allegato entrambi i files.


Scusa, forse non mi sono spiegato bene.
Dovresti includere il sorgente direttamente come parte del testo, e non come
file allegato a parte.
Ciao 
Robby
-- 


 file allegato a parte.
ecco ciò che mi chiedevi. Ho incluso la libreria da me creata, le
implementazioni delle funzioni e il file che richiama tali funzioni:
File che richiama le varie funzioni:
-----------------------------------
CASSETTE buff_cass;
CLIENTI buff_clienti;
FILE *fpcass,*fpclie;
.............
.............
.............
  case 4: clrscr();
   printf("\n\n\t\t\tRicerca dati di una videocassetta");
   printf("\n\n\tInserisci il codice della videocassetta da ricercare: ");
   flushall();
   scanf("%ld",&cod);
   visual_cass(fpcass,cod);
   printf("\n\n\t\t\t Premi <invio> di continuare");
   flushall();
   getch();
   break;
file che implementa le funzioni della libreria da me creata:
--------------------------------------------------------
void visual_cass(FILE *fp,long codice){
   CASSETTE buffer;
   cercacas(fp,codice); /* Ricerca la videocassetta */
   if(fread(&buffer, sizeof(CASSETTE), 1, fp) != 1)
      printf("\n\tErrore durante la lettura"); /* elemento non trovato */
   else{
      printf("\n\n\tLa videocassetta richiesta S: ");
      printf("\nCodice: %ld\nTitolo: %s\nStato:
%d",buffer.codice,buffer.titolo,
   buffer.stato);
   }
}
/*cercas è dichiarata all'inizio di questo file*/
static void cercacas(FILE *fp,long cod){
   CASSETTE buffer;
   rewind(fp);   /* Mi posiziono all'inizio del file */
   do{
      if(fread(&buffer, sizeof(CASSETTE), 1, fp) != 1){
  printf("Errore durante la ricerca");
  flushall();
  getchar();
      }
   }while(buffer.codice != cod || buffer.stato == CANCELLATO || EOF == 0);
   /* si esce un elemento sopra quello richiesto */
   fseek(fp, -sizeof(CASSETTE)*1, 1); /* Torno indietro di 1 blocco per
      posizionarmi sull'elemento richiesto */
}
libreria:
---------------
#ifndef __gestione__
#define __gestione__
#include <stdio.h>
#define MAXELEMENTI 6
typedef enum{CANCELLATO, ATTIVO, NOLEGGIATO} status;
typedef struct cassette{
   long codice;
   char titolo[30];
   status stato;
   int data[3];
   long cod_cli;
} CASSETTE;
typedef struct clienti{
   int cliente_cod;
   char nome[15];
   char cognome[20];
   char indirizzo[30];
   char citta[25];
   char telefono[11];
   status stato_cli;
} CLIENTI;
FILE *CreaDB(char *filename, int a);
void inscass(FILE *fp,CASSETTE *cassette);
void modifica_cass(FILE *fp,long);
void visual_cass(FILE *fp,long);
void visual_cass_tutto(FILE *fp);
void insclie(FILE *fp,CLIENTI *clienti);
#endif

Potete darmi una mano nel minor tempo possibile???
Cerca il thread Database in C in questo gruppo.
C'e' un mio sorgente che tratta i database in modo semplice.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------
Newsgroup: it.comp.lang.c
Titolo: uso di memcpy

Ciao,
ho una domanda sulla memcpy.Devo copiare due byte da un vettore di
unsigned char a un unsigned long.
Come segue:
unsigned char test[10];
unsigned long number =0;
memset(test,0x0,sizeof(test));
memset(test,0x6c,1);
memset(&test[1],0x2b,1);
memcpy(&number,test,2);
Supponiamo che il long sulla mia macchina sia di quattro byte; i due
byte sono copiati sempre nei byte meno significativi di 'number' ?
Gabri


Che siano più o meno significativi dipende, comunque sì, il concetto è
quello: copiare con memcpy equivale ad una copia byte a byte, quindi
il tipo di variabile di destinazione o di origine non conta.


Si, il tipo da cui si copia può essere diverso da quello in cui si
copia,ma il mio dubbio è ulteriore.
In pratica quello che mi interessa è che, sia avendo big endian che
little endian, i due byte siano memorizzati sempre nei byte meno
significativi della variabile unsigned long, altrimenti il risultato
in number non è quello voluto. Per l'esempio precedente dev'essere:
big endian  0x0 0x0 0x6c 0x2b
little endian 0x2b 0x6c 0x0 0x0
Grazie
Gabri


Visto che memcpy copia byte a byte, quello che vuoi te non è
sicuramente il risultato di una memcpy().

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

Ciao,
 volevo chiedervi aiuto per un problema che non riesco a risolvere.
 Devo programmare un pos bancario, non chiedo come si apre una porta
seriale etc etc. (quindi non dovrei essere OT).
Non capisco quanto segue.
es.
la documentazione mi di dice
 1)Tutti i messaggi sono corredati di un byte di controllo denominato
LRC.Il carattere LRC viene calcolato eseguendo l'operazione di OR
esclusivo su tutti i byte del messaggio assumendo come valore base di
calcolo 7F hex.  (Cosa vuol dire e come si fa?)
Ciao e grazie
 
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 calcolo 7F hex.  (Cosa vuol dire e come si fa?)
l'or esclusivo o xor e' un'opreazione su due bit che restituisce true 
(ossia 1) se uno e uno solo dei bit e' 1, se lo fai su due byte 
(l'operazione si indica con ^ , almeno in c++, non vorrei dire cazzate) 
restituisce un byte i cui bit sono gli xor dei bit nella stessa posizione 
nei due byte di origine. Mi pare di capire che il codice che ti serve lo 
faccia iterando il procedimento e partendo dal primo byte e dalla base 
(0x7f in questo caso)...

 
Voilą un cut & paste, proprio dal driver di un pos :)
(nel mio caso il buffer di dati viene spedito tra un carattere STX
\0x02 e un carattere ETX \0x03 e quindi anche questi due caratteri
devono essere inclusi nel calcolo del checksum) 
BYTE checksum(void* data,int datalen)
{
	BYTE chk=0x7F;
	chk^=STX;
	for (int i=0;i<datalen;i++)
		chk^=*(((BYTE*)data)+i);
	chk^=ETX;
	return chk;
}
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)
Newsgroup: it.comp.lang.c
Titolo: [OT] ma programmatori C non ce ne sono piu'????

Scusate l'OT ma sono quasi alla disperazione.
Premetto che sono un tecnico e non un addetto alle risorse umane..
L'azienda in cui lavoro cerca ormai da 6 mesi un persona che conosca il
C ed abbia esperienza appunto di programmazione in C su UNIX o
Linux.... e quindi conosca (anche solo per sentito dire) pipes, socket,
shmem e il resto dell'IPC...
Ci credereste che in 6 mesi non abbiamo trovato (annunci, monster,
infojobs, azienda di selezione) una persona che abbia il minimo di
skill richiesto? al massimo qualche disgraziato che lavoro in ProC...
sai che bello...
Ora mi domando: c'e' qualcuno a Roma interessato alla cosa?
Grazie per l'attenzione e scusate l'OT
Ciao
Fabrizio

 ha scritto nel 
messaggio news:1162554025.9...@i42g2000cwa.googlegroups.com...


 
Io sono un programmatore C da ormai 10 anni ed ho anche delle esperienze
in Linux (socket, thread, ecc...);
Il problema principale per cui io e tanti altri scartiamo questi annunci 
e perchč o non riteniamo abbastanza dettagliato l'annuncio, o non ci 
interessa il campo di applicazione del C o soprattutto perchč queste 
aziende offrono contratti a 6 mesi o un anno ecc...


Quotatissimo!
Purtroppo di solito gli annunci sono poco chiari.
Spesso non si capisce quale sia l'azienda che cerca, cosa cerca e 
praticamente mai quanto si prende.
Se uno guarda gli annunci su monster per l'Inghilterra si vede che e` 
tutta un'altra cosa.
Saluti,
Cesare
Newsgroup: it.comp.lang.c
Titolo: Libreria da dos a windows ?

Salve a tutti - ho scritto qualche anno fa un grosso programma di gestione
supermercati che fino ad oggi funziona perfettamente in diversi supermarket
della mia zona. Il linguaggio che ho usato è Borland C++ e il compilatore è
la ver.5.0
Il programma gira sotto finestra DOS ed usa esclusivamente per l'output a
video le istruzioni cputs e cprintf.
Siccome molti miei clienti vorrebbero passare a windows ME o windows 2000 e
visto che il DOS non è più tanto ben gestito da questi S.O. avrei esigenza
di passare sotto windows il mio software.
Il borland C++ 5.0 che ho acquistato consente di creare degli eseguibili che
girano in ambiente windows.
Esiste qualche libreria che mi consenta semplicemente di ricompilare i miei
sorgenti DOS in ambiente WINDOWS ?
Cioè che mi converta le mie funzioni cputs e cprintf in funzioni per
l'output in finestre windows ?
Grazie -

 l'output in finestre windows ?
Proprio il BC5 ha la funzione che cerchi (forse). Viene chiamato EasyWin.
Devi creare un nuovo progetto di target type EasyWin, e poi scrivi un
normale programma C per linea di comando.
Lato negativo: non puoi usare le funzioni di conio.h (come cprintf) ma solo
funzioni C standard (cioe' printf).
ciao
donCiccio

 ha scritto nel messaggio
news:CXg57.129714$cd.7...@news1.tin.it...

Grazie ma non esiste qualcosa di piů sofisticato che mi consenta di
utilizzare anche le funzioni di conio.h ?


spiacente, ma io non ne conosco altri.
se guardi l'help in linea del BC5 ti dice tutte le funzioni supportate
da easywin, magari bastano gia' al tuo programma.
se cosi' non fosse, non credo ci voglia molto a realizzare la tua
versione personalizzata di easywin.
tieni presente che la memoria video in modo testo e' solo di
80x25x2=4000 byte, quindi potresti scrivere tutte le funzioni di conio
che il tuo programma usa, in modo che memorizzino i dati un una matrice
int screen[80][25], poi ti studi gli elementi di base per creare,
ridimensionare, scrivere su una finestra windows, e la gestione dei
messaggi soprattutto per l'input della tastiera, ed il gioco e' fatto.
Eventualmente procurati il CRTL (C run time library) di borland, dove
trovi i sorgenti della loro easywin, vedi cosa hanno fatto, e li copi.
sai che ti dico? a tempo perso ci provo, poi ti faccio sapere (tieni
presente che sono un newbie nella programmazione sotto windows)
ciao
donCiccio
Newsgroup: it.comp.lang.c
Titolo: Aiuto!!!!

Qualcuno sa dove posso trovare un tutorial/howto sulla programmazione di
socket,magari in formato pdf/ps e in italiano?
grazie

 grazie
Se non dici l'os che intendi usare la vedo un po' dura.
Il progetto Gapil potrebbe fare al caso tuo (non ricordo l'url... google
:)
Nicholas
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c
Titolo: Nuovi libri ...

ciao a tutti ... mi servirebbero nuovi consigli su dei libri che dovrei 
comprare, mi potreste consigliare su libri che avete gia' letto o che sapete per 
certo ottimi ???
a) programmazione concorrente, thread
b) programmazione avanzata C
d) programmazione avanzata C++ (ho gia' il think e il BJ.Stroustrup)
e) design pattern
ringrazio tutti quelli che riescono a darmi dei consigli
ciao

 b) programmazione avanzata C
Non posso dirti per certo che sia ottimo, dato che non l'ho letto, ma 
sugli autori non ho alcun dubbio (dato che sono quasi tutti 
frequentatori di comp.lang.c, nel quale fanno sfoggio di *grande* 
competenza).
Il titolo e` `C Unleashed' (
http://users.powernet.co.uk/eton/unleashed/
 
- qui puoi vedere anche gli argomenti di cui tratta).
La cosa interessante e` che tutto il codice del libro e` scritto in C 
standard, quindi assolutamente portabile.
Vedi anche la recensione su ACCU 
(
http://www.accu.org/bookreviews/public/reviews/c/c002280.htm
).
Questo sara` di certo uno dei miei prossimi acquisti.
-- 
Enrico `Trippo' Porreca

 Questo sara` di certo uno dei miei prossimi acquisti.
grazie per il consiglio ;-)
ah scusate per il crospot ma ho appena cambiato client per i newsgroup e mi devo 
ancora abituare a come gestisce il multipost (cioe' volevo fare un normale multi 
post su piu' ng per trovare piu' gente che conosce queste problematiche e non 
volevo crospottare brutalmente ... :-/ )
ciao

 brutalmente ... :-/ )
Aaaargg!!!! il multipost è pure peggio!!!
Vedi 
http://www.news.nic.it/doc/metamanifesto.html
 ,
netiquette, ecc...
Quindi leggi su it.faq la FAQ: "Come funzionano le news: il crosspost e`
Male"
Infine, se hai domande, imposto il Follow-up su it.news.aiuto
-- 
Gerolamo

 Infine, se hai domande, imposto il Follow-up su it.news.aiuto
mi spiace di averti rotto il FUP ma non leggo news aiuto e mi volevo scusare 
direttamente con te' senza che mi costasse scaricare altri 20000 intestazioni 
per leggere le tue risposte, semmai risponderai ancora ...
ok ora ti ho chiarito il motivo per il quale ho fatto questo errore, spero mi 
perdonerai ...
ciao

 spero mi perdonerai ...
Oppercarità.... non era affatto una questione di scuse o di perdono!
Volevo solo chierire alcune "regole di uso comune" :-))
Per il resto, bona ricerca dei libri (i miei te li ho consigliati su ICLC++)
ciaociao!
-- 
Gerolamo

 
grazie ciao

 e) design pattern
Qui ho letto qualche cosa, ma evito di consigliarti un libro, c'e' gente che
che su questo argomento ha letto molti piu' libri di me..... (anche se alla
fine credo che i migliori siano i soliti 2 o 3....)
Tommy

 ha scritto nel messaggio
news:blcrbv$tcf$2...@news.ngi.it...


 e) design pattern
7) Design Patterns
Se non puoi acquistarli tutti ti consiglio di prendere perlomeno i numeri
1,2,4 e 7.
ciao Anto
-- 
"Computer science is not about computers any more than astronomy
is about telescopes." -- EW Dijkstra
Newsgroup: it.comp.lang.c
Titolo: HELP!Compilatore da scaricare

Ragazzi help! Non ne posso più di gcc voglio un compilatore serio! Purtroppo
il Borland C++ Builder mi va in crash quindi vi chiedo dove posso scaricare
un compilatore snello snello (quindi Ms-Dos) che mi possa permettere
esercizi a valanga in vista dell' esame!Ho sentito parlare del turbo C e,
avendo avuto esperienza col turbo Pascal, non mi dispiacerebbe aver ancora a
che fare con quel tipo di compilatore (purchè lo standard Ansi sia
implementato certo). Grazie!


Ci sarebbero tante belle soluzioni al tuo problema: LCC e uno dei vari
porting del GCC.
Per la cronaca il GCC e' un eccellente compilatore, se non lo sai
usare e non lo apprezzi io non ci posso fare nulla.
L'unica soluzione che mi viene in mente, che non sia ne il borland ne
il GCC e' LCC. Cercatelo in rete, penso ci metterai 3 secondi netti, 4
secondi se ti connetti con un cellulare anziche' con un modem 56k.
Poi cosa intendi per compilatore serio? Per te un compilatore e' serio
se ha una GUI user friendly? Spero che la risposta sia no, perche' in
tal caso e' ora che impari qualcosa sui compilatori.
Mox

 Mox
diego

Ascolta io ho un computer vecchiotto e un hard disk piccolo. Per cui non mi
sono suicidato rubando 1gbyte e oltre per installare la grafica Kde o Gnome.
Ecco perchč il gcc che ho su linux non ha colori, non ha una ceppa, ha
bisogno di combinazioni di tasti per scrivere, per cancellare! Non ho tutto
questo tempo, devo allenarmi a non finire! Ma perchč ogni pretesto č buono
per attaccare "briga" sull' ignoranza degli altri? Ciao professore!


Allora, io non attacco briga sull'ignoranza, ma sul tono delle
richieste... rispondo con lo stesso tono del msg.
Se parti dicendo che il GCC fa' pena io non posso certo essere
daccordo, ma avrai i tuoi buoni motivi per dirlo, quindi vediamo cosa
vuoi dire... pero' devi avere argomentazioni valide.
Mi dici: volglio qualcosa che giri sotto dos, piccolo e veloce... come
il turbo C. E il GCC non era uguale scusa? Il Turbo C com'era? Aveva
quella IDE grafica?
Poi le risposte te le ho date: LCC e lo trovi in 3 secondi su google.
Pero' sono tutti ugualmente "brutti" dal tuo punto di vista.
Non ti aspettare sotto DOS qualcosa di meglio del GCC+vi pero', al
massimo trovi l'EDIT che e' meno difficile da usare.
E' pero' sempre in bianco e nero (a proposito, io di GCC a colori non
ne conosco nessuno).
Altra alternita passi al DJGPP, li hai il Rhide che per quando non mi
piaccia e' di piu' che un semplice editor di testo.
Lo trovi su: 
www.delorie.com/djgpp
.
Ti avessi detto: "no, f*****i e installati il VC++ o una IDE grafica
figa e non rompere" capisco che te la prendi pure, ma ti ho dato delle
alternative funzionati.
Volevi semplicemente dire "consigliatemi un editor decente"? Beh, ti
avrei risposto diversamente, indirizzandoti verso il DJGPP+Rhide.
Se sei sotto linux comunque impara a usare il VIM, questo e' un
consiglio personale... ti accorgerai che una volta imparati i comandi
lavori molto piu' velocemente che con qualsiasi altro editor TESTUALE.
Mox
Newsgroup: it.comp.lang.c
Titolo: output formattato

ciao
perchï¿œ il programma che ho scritto in C, quando lo visualizzao sul pc di 
casa e sul notebook e sul pc dell'ufficio...si vede ok...
mentre su un paio di altri pc su cui ho testato il tutto, pur impostando 
la finestra consolle con altezza e larghezza identici, c'e' un punto in 
cui non mantiene la formattazione spostandosi di un paio di posti in 
avanti il cursore.
grazie a tutti!

 perchè il programma che ho scritto in C, quando lo visualizzao sul pc di

Perché sbagli qualcosa.
Ad esempio non mostri i sorgenti.
-- 
By ZeD

Vito De Tullio ha scritto:

EUREKA!
sui sitemi dove manteneva la formattazione della riga inerente la data 
corrente, effettivamente l'anno veniva mostrato nel formato AA quindi 
non 2009 ma 09!
Penso che quindi dipenda dalle impostazioni del Sistema operativo....

 Penso che quindi dipenda dalle impostazioni del Sistema operativo....
Ovvero dipende dal tuo codice che non controlla cosa manda sulla console!

SilverLeo ha scritto:

Adesso lo controlla ;)

Newsgroup: it.comp.lang.c
Titolo: Strano Warning

Quando tento di compilare qualcosa usando gcc (versione 2.96 - con Mandrake 
8.0) mi compare sempre (anche compilando il famoso "Hello World!") questo 
avvertimento:
warning: no newline at end of file
Come mai?
Comunque gli eseguibili generati funzionano sempre correttamente pero' 
sarei curioso di capire che cosa determina questo warning.
GRAZIE e CIAO
-- 
==> parsEc <==
e-mail: 
entr...@libero.it
     Linux Registered User     #179148
ICQ:    #85370161               Linux Registered Machine  #99282

 ha scritto nel messaggio
news:qhi1m9...@localhost.localdomain...
