mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: dato a 64 bits

Come faccio a manipolare un dato da 64 bit in modo portabile?
Cioč long int o long long int magari su qualche o quasi tutte  le
piattaforme raggiunge i 64 bit, ma non posso esserne sicuro no?
Grazie


I long long sono di almeno 64 bit su tutte le piattaforme (dato che
e` richiesto dallo standard C99).
Con i long int invece hai solo la garanzia che siano almeno 32 bit,
quindi non fanno al caso tuo.
-- 
Enrico `Trippo' Porreca

 ha scritto nel messaggio
news:3F72EBA8...@lombardiacom.it...

Il mio stupido compilatore (vc++ 6) non mi riconosce long long: errore
sintattico!
Non mi resta che tornare a __int64.
Grazie cmq.

 Non mi resta che tornare a __int64.
Non e` una questione di stupidita`, il problema probabilmente e` che non 
e` stata implementata questa caratteristica del C99. Avevo dato per 
scontato (dato il tuo primo post) che il tuo compilatore consentisse 
l'uso dei long long.
-- 
Enrico `Trippo' Porreca

 Non mi resta che tornare a __int64.
Non e` tanto una questione di stupidita`, ma piuttosto (penso, dato che 
non conosco il VC++) di mancata implementazione di questa caratteristica 
del C99. Leggendo il tuo primo post, avevo dato per scontato che il tuo 
compilatore supportasse i long long.
-- 
Enrico `Trippo' Porreca

 long long: errore sintattico!
Il tuo "stupido" compilatore, č precedente al 1999 e quindi hai
delle belle pretese che implementi correttamente uno standard
_successivo_ a se stesso...
Ritenta con il VC++7.1 :-))
-- 
Gerolamo


semplicemente non sapevo che long long  non esistesse prima del 1999

Non mi resta che tornare a __int64.
   Magari prova qualcosa del genere...
#ifdef _MSC_VER
#define LONG64 __int64
#else
#define LONG64 long long
#endif
...
LONG64 int_ad_almeno_64_bit;
-- 
S.L.

 #endif
Non mi sembra sia questa la sintassi della #define...
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Non mi sembra sia questa la sintassi della #define...
Cosi' la prossima volta imparo a postare alle 2 di notte....


 Non mi sembra sia questa la sintassi della #define...
A me si: che c'e' che non va? - Claudio
Newsgroup: it.comp.lang.c
Titolo: A tutti quelli che l'hanno letto K&R

Salve a tutti , hò intenzione di  acquistare il libro K&R II ed. ; ho letto
sul sito
www.jacksonlibri.it
  che questo libro è collocato nella collana università ,
è troppo difficile per un principiante??
Ringrazio tutti  :-) Roberto

è troppo difficile per un principiante??
Dipedne se conosci gia' i concetti base della programmazione ma sei
principiante del C va bene..se no e' meglio andare su testi +
introduttivi
Augusto Pucci
Webmaster di Prospektiva On-line
http://go.to/Prospektiva

 è troppo difficile per un principiante??
Il libro no. Forse il linguaggio si.
EMG

Il libro no. Forse il linguaggio si.
anche se il libro e' chiaro non e' forse il testo piu' adatto per chi
di C non sa proprio un tubo. In questo caso meglio un testo piu'
introduttivo da integrare poi con il K&R
Aranar
e-mail: 
ro...@geocities.com
http://www.nettaxi.com/citizens/Aranar/
   (above all VgaPlanets)
http://www.tempolibero.com/user/aranar
    (sopratutto VgaPlanets)

 è troppo difficile per un principiante??
Meglio che cominci con un altro libro.....

Newsgroup: it.comp.lang.c
Titolo: Problemi con la gestione di file

Ho creato un programma per la lettura scrittura di un file, attraverso un
interfaccia grafica.
Ho un problema: vorrei che qualcuno cortesemente mi aiutasse a creare una
funzione, che dopo aver letto il file ed averlo visualizzato, mi posizinasse
un avidenziatore all'inizio riga, e con le "freccette" della tastiera, si
spostasse in verticale selezionando la voce desiderata.
Grazie in anticipo.
_NET_

 ha scritto nel messaggio
news:XdZc5.8449$z%4.9...@news.infostrada.it...


 wrote in message


 ha scritto nel messaggio
news:oN5d5.12573$z%4.14...@news.infostrada.it...


 wrote in message
8l4ag3$75j$1...@pegasus.tiscalinet.it...


 ha scritto nel messaggio
news:%oCd5.7075$sE5....@news.infostrada.it...

Newsgroup: it.comp.lang.c
Titolo: vettori

saluti a tutti.
dal libro del c di kernighan e ritchie (pag. 23):
---------------------
main()
{
 [...]
 while ((c = getchar()) != EOF)
     if (c >= '0' && c <= '9')
        ++ndigit[c - '0'];
 [...]
}
---------------------
perdonate la mia poca perspicacia, ma non ho capito perche' non possa
bastare, in luogo della sesta riga, questa:
++ndigit[c];
grazie per la vostra attenzione,
andrea gelmini
--
Automatic posted from 
ns.numerica.it
 [194.184.189.10]
via Mailgate Server - 
http://www.mailgate.org

In c e' memorizzato il codice ascii del tasto premuto e NON IL VALORE del
tasto premuto.Cioe' ad esempio se premi 9 in c e' memorizzato non tale
valore,
ma bensi' il suo codice ascii:poniamo per esempio 79(adesso non so
esattamente
il valore giusto pero' poco importa per capire).
Per ricavare il valore ricercato basta sottrarre da 79 il codice ascii dello
zero
(nel nostro caso sara' 70).
Quindi 79-70=9.
Spero di essere stato chiaro.
Ciao e buon apprendimento :)
Bi...@tin.it

++ndigit[c];
Perche' nel primo caso si incrementano effettivamente i valori da ndigit[0] a
ndigit[9] mentre nel secondo caso incrementeresti i valori da
ndigit[valoreASCII(0)] a ndigit[valoreASCII(9)].
I caratteri in C vengono usati come interi quindi scrivere c-'0' dove c varia da
'0' a '9' significa scrivere effettivamente 0, 1, 2, ....9.
Andrea Laforgia
(remove NOSPAM from my address before reply via e-mail)
ICQ #8328956
Newsgroup: it.comp.lang.c
Titolo: aiuto con i puntatori!!

Da poco a scuola abbiamo fatto i puntatori e non è che ci ho capito poi
molto, ho provato a fare un programma che ordina un vettore di numeri
utilizzando i puntatori:
#include<stdio.h>
int *pi,n,app,*pj,*ultimo;
main()
 {
   printf("Quanti elementi?\n");
   scanf("%d",&n);
   ultimo=((&n+n)+1);
   for(pi=(&n+1);pi<ultimo;pi++)
   {
    printf("Inserisci il numero:\n");
    scanf("%d",pi);
   }
   for(pi=(&n+1);pi<(ultimo-1);pi++)
   {
    for(pj=(pi+1);pj<ultimo;pj++)
    {
     if (*pi>*pj)
     {
      app=*pi;
      *pi=*pj;
      *pj=app;
     }
    }
   }
   for(pi=(&n+1);pi<ultimo;pi++)
    printf("%d\n",*pi);
 }
purtroppo ho sbagliato qualcosa perchè quando lo mando in esecuzione si
pianta...
Chi mi aiuta?
Grazie
--
Nella vita c'è sempre un futuro
alternativo, l'importante è beccare
quello giusto!
Manchester e Milan nel cuore x sempre!
X msg pvt togliere NOSPAM
--
Nella vita c'è sempre un futuro
alternativo, l'importante è beccare
quello giusto! ;-)
Manchester e Milan nel cuore x sempre!
X msg pvt togliere NOSPAM

    for(pi=(&n+1);pi<ultimo;pi++)
guarda che non puoi scrivere nella memoria dove ti pare!
Tu stai andando a scrivere nelle celle di memoria che
seguono la posizione dove il compilatore ha memorizzato n.
Non pensi che il compilatore voglia usare quelle celle
per memorizzarci LUI quello che gli pare ?
Prendi il tuo manuale di C, ripassati i puntatori e
soprattutto l'allocazione di memoria !
ad un certo punto devi fare
int i, *v;
v  = malloc(n * sizeof(int));
per riservare la memoria
e poi puoi fare
for (i=0; i<n; i++) scanf("%d", v+i);
non ho guardato il resto del programma.
ciao,
g.

Il Milan vinceva il suo ennesimo scudetto quando udivo da
Giovanni Resta:

io non conosco la malloc e l'allocazione dinamica, per ora abbiamo fatto
solo gli operatori & e * perciò l'unico modo per svolgere il mio esecizio
sarebbe caricare il vettore in variabile di tipo vettore (es. int vett[10])
e successivamente ordinarlo con i puntatori...giusto?
Grazie
--
Nella vita c'è sempre un futuro
alternativo, l'importante è beccare


 e successivamente ordinarlo con i puntatori...giusto?
si.
puoi dichiarare
int v[10];
e poi
for (i=0; i<n; i++)
scanf("%d",v+i); oppure scanf("%d",&(v[i]));
naturalmente in questo caso devi aggiungere un controllo
sul numero di elementi, perche' se hai allocato 10 interi
con int v[10];
allora n deve essere minore o uguale a 10.
ciao,
g.
Newsgroup: it.comp.lang.c
Titolo: AIUTO URGENTE!

Definito un puntatore
char *pointer
e l'ho inizializzato cosě:
pointer = INIZIO_RAM
dove INIZIO_RAM č cosě definito:
#define INIZIO_RAM  0xffb0
Mi dice che l'assegnamento č incompatibile PERCHE'?
La doamnda probabilmente č banale ma, sono alle prime armi.
Scusate e grazie

 Tutor at D.S.I. University of Milan
V_/_ 'Nothing last forever, eventhough november rain.'
I'm Linux 
zion.laser.dsi.unimi.it
 2.2.17-21mdk #1 Thu Oct 5 13:16:08 CEST 2000 i586 unknown

 ha scritto nel messaggio
news:9f4uqm$3q8$1...@pluto.news.dsi.unimi.it...


Massimiliano Zucchi wrote in message ...

Ciao Massimiliano,
devi fare un cast (conversione di tipo), altrimenti il compilatore si
arrabbia poiche´ assegni a un puntatore a char un valore intero.
Prova cosi´ :
#define INIZIO_RAM (char *)0xffb0
int main(void)
{
    char *pointer;
    pointer = INIZIO_RAM;
    return 0;
}
Alla prossima
Maurus

 il fatto č che il sw č per microcontrollore e lo spazio di memoria č 0xffff
ooopss non ci ho pensato scusa :)
char *pointer = (char *)0xbeef funziona? :)


 > il fatto è che il sw è per microcontrollore e lo spazio di memoria è



Ciao Massimiliano,
come gia´ ti ho detto nell´altro post il cast e´ necessario perche´ :
#define INIZIO_RAM  0xffb0
char *pointer;
pointer = INIZIO_RAM;
INIZIO_RAM per il compilatore e´ un intero in quanto il precompilatore ha
trasformato la parola INIZIO_RAM nel valore 0xffb0 che e´ un intero.
Come fa quindi il compilatore a leggere nelle tue intenzioni che sono quelle
di vedere 0xffb0 come un puntatore a una zona di memoria?
Per cui vedra´ un assegnamento di un intero a un puntatore a char con
conseguente errore.
Allora e´ necessario che espliciti le tue intenzioni, dicendo al
(pre)compilatore:
#define INIZIO_RAM  (char *)0xffb0
e cioe´ che la tua parola INIZIO_RAM sara´ vista come un puntatore a una
zona di memoria grande come un char.
Per cui ora l´assegnamento pointer = INIZIO_RAM; verra´ tradotto come
pointer = (char *) 0xffb0 che e´ corretto in quando sono dello stesso tipo.
Maurus

Finalmente ho capito. Mi sfuggiva il passaggio del precompilatore che in
effetti vede un intero.
Quindi in pratica tutte le volte che voglio inizializzare un puntatore con
un "numero puro" devo castarlo al suo tipo.
Ti ringrazio molto.
Ciao Massimiliano
"Maurus" <REMOVE...@rocketmail.com-REMOVE> ha scritto nel messaggio
news:9f5hs9$62g$1...@newstoo.ericsson.se...


<mybestupidata>
solo una precisazione/provocazione. Credo che volessi scrivere
mAybestupidata ;-))
Anto
--
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it
Newsgroup: it.comp.lang.c
Titolo: Problemi con la funzione stat

Buona sera,
tagliando corto, il mio problema e' che non riesco ad individuare
in modo corretto un link simbolico tramite la funzione stat.
Quello che faccio e' questo:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include <stdio.h>
#include <sys/stat.h>
struct stat path_info;
if(stat("...path...", &path_info))
{
	.........
	.........
	/* gestisco l'errore e esco */
}
/* Discrimino il tipo */
switch(path_info.st_mode & S_IFMT)
{
	case S_IFDIR:        printf("Directory\n");             break;
    	case S_IFLNK:        printf("Link simbolico\n");        break;
    	case S_IFCHR:        printf("Device di carattere\n");   break;
    	case S_IFIFO:        printf("Fifo\n");                  break;
    	case S_IFBLK:        printf("Device di blocco\n");      break;
    	case S_IFREG:        printf("File regolare\n");         break;
    	case S_IFSOCK:       printf("Socket\n");                break;
  }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ora, se path rappresenta il percorso di un link, il programmino se ne 
frega e mi restituisce informazioni inerenti a cio' che e' puntato dal 
link(dir... file... ecc..).
Come posso fare a capire se path e' un link?!?
Per completezza di info. io sto facendo il tutto sotto MAC OS X Tiger ma 
non credo che il problema sia questo dato che l'OS e' UNIX based e 
comprende tutti gli standard.
Grazie e buona serata, dato che tra l'altro e' sabato sera..... =)

 link(dir... file... ecc..).
Hem.. mi sono auto risposto leggendo meglio la Single UNIX Specification.
Devo usare lstat e non stat:
The lstat() function shall be equivalent to stat(), except when path 
refers to a symbolic link. In that case lstat() shall return information 
about the link, while stat() shall return information about the file the 
link references.
Scusate il disturbo.
Newsgroup: it.comp.lang.c
Titolo: concatenazione di stringhe

Come faccio a concatenare due stringhe in C ??
Ho provato a usare strcat (str1,str2); il compilatore non si lamenta ma in
esecuzione si verifica  un  messaggio di errore .
Come devo fare ??
Grazie , aLe .
-- 
*************************************************************
E ricorda : siamo tutti istanze di Object .
*************************************************************

 Come devo fare ??
la dimensione di str1 era abbastanza grossa per contenere anche la seconda ???

 Grazie , aLe .
Per concatenare due stringhe bisigna fare in modo che la stringa
destinazione sia abbastanza
grande da contenerle entrambe. In compilazione non avrai alcun errore
mentre in esecuzione potresti avere un errore se vai a scrivere su zone
non
riservate. Potresti fare
len = strlen (str1) + strlen (str2) + 1;
str3 = malloc (...len..); //non ricordo la sintassi della malloc ma
vuole la
                          //dimensione da riservare 
strcpy (str3, str1);
strcat (str3, str2);
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c
Titolo: Serve la grafica?!!!

Serve imparare a fare programmi in c che girano sotto dos e che utilizzano
la GRAFICA?
In breve: serve imparare ad utilizzare le librerie grafiche per il c?
A cosa?!
GRAZIE MILLE.
Saluti, Ale.

A cosa?!
Partiamo dal fatto che il C non possiede librerie grafiche.
Queste, se esistono, appartengono alle specifiche librerie di ogni
particolare compilatore.
E' ovvio, poi, che imparare a fare grafica in C con un particolare
compilatore puo' servire come non puo' servire : dipende dalle tue
esigenze.
Se qualcuno ti chiede di scrivere un videogame in C e' ovvio che ti
serve sapere come fare.
Pero' tieni presente che, per il fatto che la grafica e' un aspetto
indipendente dal linguaggio in se', e' anche possibile che tu diventi
espertissimo nel campo per un particolare elaboratore, con un
particolare sistema operativo, con un particolare compilatore, ma
basta cambiare uno di questi tre elementi, perche' tu debba iniziare
da zero.
Sicuramente per imparare il linguaggio C non serve affatto imparare a
gestire la grafica.
Andrea Laforgia        (
andrea_...@bigfoot.com
)
----------------------------------------------------
There is nothing better for understanding a kangaroo
than seeing it jump.
----------------------------------------------------

Newsgroup: it.comp.lang.c
Titolo: Errore strano Malloc...

Possiedo un Mac e sto facendo un programma in C, se lo compilo con il gcc
del Mac(ver 3.1) mi dà il seguente errore:
error for object ...... :  Incorrect checksum for freed object - object was
probably modified after being freed; break at szone_error
mentre se lo compilo su una macchina Linux con gcc ver 2.95 funziona alla
grande!
Dove sta il problema???
Grazie!

 probably modified after being freed; break at szone_error
Si direbbe che hai da qualche parte un baco, a naso usi un puntarore non +
valido dopo che hai fatto la free.
Prova ad verificare il programma anche sotto linux usando electric fence od
abilitando le malloc di debug.
Qualcosa dovrebbe saltare fuori...
Newsgroup: it.comp.lang.c
Titolo: dir o file

come faccio a verificare col c\c++ se una dir o un file esiste?
rsp presto grazie.

 }
Queste perň non sono funzioni standard (anche se sono disponibili con
parecchi compilatori). Con le librerie standard, si fa in modo analogo al
primo esempio:
#include <stdio.h>
...
FILE * f;
if ((f = open("nome", "r")) == NULL)
{
   /* il file non esiste; errno contiene un codice d'errore piů preciso */
}
else
{
   /* il file esiste */
   fclose(f);
}
Per manipolare le directory non esistono funzioni nella libreria standard.
Su certi sistemi operativi (e.g. Unix-like) il codice qui sopra potrebbe
funzionare anche per le directory, su certi altri (e.g. DOS-like) invece
no.
--
Cingar
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 if ((f = open("nome", "r")) == NULL)
fopen(), altrimenti c'e' qualche problema :-)
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 no.
Anche se non e` ANSI/ISO standard 'access' funziona (se disponibile in 
libreria) anche con directory.


 ha scritto nel messaggio
news:cu52hg$32t$1...@marina.home.net.it...


 risp.
Si va bene
FILE *fp;
if ((fp = fopen("nomefile", "r") == NULL) {
        /* errno contiene il codice di errore */
} else {
         fclose(fp);

Newsgroup: it.comp.lang.c
Titolo: Mail e sms...

Spero di non essere troppo OT...
Voglio fare la seguente cosa: su uno dei server che abbiamo a scuola voglio
far girare un programmino che ciclicamente mi controlla la posta su libero
e, se c'è nuova posta, mi manda un sms sul telefonino in cui mi si dice che
ho posta, e magari anche il mittente, così se mi interessa io me la vado a
scaricare...
Credo di saper fare la prima parte del lavoro...apro una connessione via
socket a 
popmail.libero.it
 sulla porta 110 e con USER, PASS e LIST vedo se
ho posta, eventualmente con RETR n me la scarico e mando al telefonino il
mittente...
Intuitivamente anche la seconda parte non dovrebbe essere troppo diversa:
dovrei intuitivamente inviare a un server sms (e mi pare ce ne siano
parecchi che tra l'altro non richiedono neppure autentificazione) una
stringa col messaggio e il numero del mio cellulare...Solo che non so
fare...Non è che qualcuno di voi ha già avuto a che fare con sto problema?
Praticamente mi dovreste consigliare il nome del server sms e il numero
della porta...(ma come faccio a sapere come si chiama il server di
kataweb...oppure quello di jumpy...o che ne so io) e poi dovrei conoscere il
protocollino che sto server adotta...Cosa devo inviare? In che ordine ecc?
Io lo farei in C, se lo faccio...Mi sarebbe utile una descrizione
dettagliata di come farlo o un pezzo di codice se qualcuno lo ha
effettivamente fatto...Se no fa lo stesso.
Ciao a tutti...
Luca.


Newsgroup: it.comp.lang.c
Titolo: Rimuovere righe uguali da una matrice

Ciao a tutti,
sto cercando di implemantare un algoritmo che legga da file (riga per 
riga) delle stringhe di caratteri alfanumerici, li memorizzi in una 
matrice bidimensionale e poi controlli che non ci siano ripetizioni. Se 
eventualmente ne trovasse l'idea è di far sostituire alla seconda delle 
righe uguali una riga di caratteri'\0' in modo da farla risultare "vuota".
Questo è quello che ho scritto
/***********************************************************************
*                         Funzione SYMBOL_TABLE                          *
***********************************************************************/
void symbol_table()
{int i,r=0,t=0,contr,colonna,diverso;
char *ch1, tokentab[conriga][dim], token[dim]; /*"dim" e "conriga" sono 
fissati da altre funzioni*/
filetemp=fopen("temp.txt","r");
fileout=fopen(outfile,"w");
       while (1)                        //ciclo che compila la matrice
       {                                //tokentab con tutti i token del
       ch1=fgets(token,dim-1,filetemp); //file temporaneo
       if ( ch1==NULL)
       break;
       t=t+1;
       printf("riga: %s\n",token);
       if (r<t){
       for (i=0; i<dim; i=i+1)
       tokentab[r][i]=token[i];
       r=r+1; }
       }
/*il seguente algoritmo vorrebbe selezionare le righe dalla prima alla 
penultima e confrontarle con tutte le seguenti.*/
for (i=0; i<t-1; i=i+1)
       {
       for (contr=i+1; contr<t; contr=contr+1)  confr
      {
           colonna=0;
           while (colonna<dim)
/*questo è il confronto vero e proprio*/
        {
                 if (!isalpha(tokentab[i][colonna]))
                 break;
                 if (tokentab[i][colonna]!=tokentab[contr][colonna])
                 {diverso=1;
                  break;}
                  diverso=0;
                  colonna=colonna+1;
         }
         if (diverso=0){ /*se le righe sono uguali riempie la seconda*/
         for (colonna=0; colonna<dim; colonna=colonna+1)/* con '\0'*/
         tokentab[contr][colonna]='\0';}
         }
        }
for (i=0; i<t; i=i+1)    /*a questo punto scrive il file di uscita*/
    {
    for (colonna=0; colonna<dim; colonna=colonna+1)
    token[colonna]=tokentab[i][colonna];
    fputs(token,fileout);}
printf("%d\n",t);      /*stampo la matrice per controllo + immediato*/
printf("La matrice e':\n");
   for (r = 0; r < conriga; r++)
     printf("%s\n",tokentab[r]);
     printf("\n");
fclose(filetemp);
fclose(fileout);
}
*******************************************************************+
Nessun problema per la lettura e la scrittura su file ma l'algoritmo di 
sostituzione non vuole proprio funzionare.
Avete qualche suggerimento?
Grazie un'altra volta per l'attenzione e la pazienza!
Dan

         }
Mi rispondo da solo. L'algoritmo funziona come pensavo ma ho sbagliato a 
porre la condizione if. Mi ci sono volute due ora ad accorgermi che 
manca un "=" accidenti!
Ciao a tutti
Newsgroup: it.comp.lang.c
Titolo: char e std::string

Salve,
allora se faccio cosi:
char *appo = "scemo";
std::string sQuery = appo;
tutto ok non c'e' problema.. ma io voglio fare il contrario:
std::string sQuery = "scemo";
char *appo = sQuery; 
ma il compilatore non me lo fa fare.. come posso risolvere? c'e' qualche
modo per convertire una variabile di tipo string in un char?
Grazie
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Sei OT.
Qui si parla di C ANSI/ISO.
L' ng che ti interessa è it.comp.lang.c++.
Ciao
-- 
Kleidemos
Un computer a un altro quando si incontrano:
"Ciao, come ti boota oggi???"

 Ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 


 Mi potete aiutare comunque?
non lo so.
non ho mai dato consulenze ad un consulente ....
Penso che ci sia un metodo delle string che ti permette
di aver un puntatore alla rappresentazione interna.
Devi cercare in rete o su un libro. A quel punto,
se il metodo fosse chiamato dammipun(), allora basterebbe
fare
strcpy(miastringainbuonc,stringanuovaincpp.dammipun());
dove miastringainbuonc deve essere stata allocata correttamente
della dimensione opportuna.
COMUNQUE CI SONO DIVERSI MODI PER ACCEDERE ANCHE
IN SCRITTURA AL GRUPPO CHE TI SERVE:
Il modo piu' semplice ed immediato che non necessita
di nessuna registrazione etc.etc.etc., ma solo di perdere
30 secondi per leggere e capire le righe sotto, consiste nel
mandare il messaggio che vuoi mandare all'indirizzo di posta
elettronica
mail2news-DATAODIERNA-GRUPPO    "chiocciola"   
anon.lcs.mit.edu
dove DATA ODIERNA deve essere nel formato AAAAMMGG,
e dove "chiocciola" e'  @
Quindi se tu volessi mandare il messggio di aiuto oggi
al gruppo it.comp.lang.c++ ti basterebbe mandare
il messaggio opportuno all'indirizzo di posta elettronica:
mail2news-20040416-it.comp.lang.c++ "chiocciola" 
anon.lcs.mit.edu
li c'e' un robot che prende il tuo messaggio e lo rimanda velocemente
dove deve andare.
ciao,
g.

Cmq basta che fai
  std::string sQuery = "scemo";
  char *appo = sQuery.c_str();


   char *appo = sQuery.c_str();
-- 
questo articolo e` stato inviato via web dal servizio gratuito 


Io ho a casa il mio fido Lippman.
Cmq 
www.cppreference.com
Ciauz


  char *appo = sQuery.c_str();
Preciserei che in realtà è:
const char *appo = sQuery.c_str();
NON devi modificare la stringa attraverso il pointer restituito (per questo
è const)
Per cercare informazioni puoi provare sul sito della microsoft
msdn.microsoft.com
Molto spesso i firewall fanno passare i siti MS (perchè c'è il Windows
Update)
--- bye
Newsgroup: it.comp.lang.c
Titolo: Per favore.. Creare directory...

Non riesco a scrivere una funzione che, dato un path, mi crea un serie di
livelli di directory che non esistono.
Del tipo c:\new1\new2\new3
L'istruzione mkdir funziona soltanto se devo creare un unico livello di
directory : C:\new1
Qualcuno saprebbe aiutarmi, in teoria l'algoritmo so come realizzarlo ma non
riesco a scrivere un codice che realmente funzioni. Non riesco ad uscirne ed
è ormai da tanto che cerco di trovare una soluzione.
Grazie mille.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 
su linux esiste il comando mkdirhier, che crea per l'appunto una gerarchia
di directory, come serve a te.
altrimenti la soluzione e' processare la stringa e per ogni slash usare un
mkdir della sottostringa successiva..
--Lorenzo

Newsgroup: it.comp.lang.c
Titolo: C e grafica...dove trovo delle informazioni a riguardo?

Come da oggetto, dove trovo qualche informazione a riguardo?
Grazie e ciao

 Grazie e ciao
L'aspetto della grafica non e' parte del linguaggio C standard, ma 
dipende dalla piattaforma su cui ti trovi, quindi e' piu' probabile che 
tu trovi le informazioni che cerchi su newsgroup piu' specifici (ad es, 
it.comp.programmare.win32 o it.comp.os.linux.development), anche se e' 
vero che esistono toolkit multipiattaforma (come le librerie SDL o Allegro).
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */

 Grazie e ciao
Con il solo C standard non puoi fare grafica....
Devi utilizzare delle "librerie" messe a disposizione dal tuo compilatore
oppure deve fare delle chiamate al sistema operativo.
Quindi, in pratica e' possibile rispondere alla tua domanda solo se ci dici
che sistema operativo e che compilatore usi.
Tommy

Utilizzo WinXP.
Grazie

bhe.. ci sono anche librerie portabili... che funzionano su tutti i sistemi
operativi..
come, ad esempio, le SDL (per la grafica più da gioco) o le GTK (per
interfacce)
mi pare il sito sia 
www.libdsl.org
o 
sdllib.org
 ... non ricordo benissimo
ciao
Fra

vai su it.comp.giochi.sviluppo che č meglio ;) ciao

 Grazie
Ok, studiati le API di windows, in particolare le GDI. Un ottimo libro per
iniziare e' il Petzold.
Altrimenti come ti hanno detto ci sono librerie "portabili", vedi tu....
Tommy
Newsgroup: it.comp.lang.c
Titolo: Filosofia e software GNU (?)

Salve a tutti.
Leggendo i messaggi in questo newsgroup si incontrano spesso messaggi
e suggerimenti riguardo la filosofia GNU  "per"  DOS.
Ma se G.N.U. e' l'acronimo di "Gnu is Not Unix" cosa c'entra con il
DOS?
Io pensavo che il sistema operativo GNU fosse simile allo Unix come
puo' esserlo il Linux. Vorrei sapere qualcosa di piu' da voi, toccando
un argomento che in fin dei conti non e' poi cosi' "off-topics" per
esempio per  capire il compilatore C (DJGPP) da molti suggerito in
questo newsgroup.
Qualcuno puo' chiarirmi questo quesito e magari rimandarmi a siti
sull'argomento (GNU funzionante sotto DOS)?
Grazie.

 sull'argomento (GNU funzionante sotto DOS)?
Nell'archivio Simtel trovi dia il compilatore che la suite dei
programmi, noterai che tra questi molte sono estensioni di programmi
tipicamente usati nel mondo Unix, altri sono progetti nuovi.
Tieni conto che di Unix ce ne sono molte implementazioni e che ognuna 
devia dall'altra per sintassi e opzioni dei programmi, anche per questo
e' nato GNU, per fornire una suite di programmi omogenea.
Spero di averti chiarito un po' le idee.
Marco

 anch'esso multipiattaforma.
Esatto, il sistema si chiama HURD. Attualmente non lo utilizzo, comunque si
trova tutto a 
ftp.gnu.org
-- 
*** Gottardi Matteo / 
goma...@tin.it
 ***
*Linux*, the choice of a _GNU_ generation

Grazie a quanti hanno risposto aiutandomi e indirizzandomi a siti in
italiano sull'argomento.
Per completezza e per quanti oltre me siano interessati all'argomento
segnalo il seguente indirizzo suggeritomi tramite e-mail:
http://www.linux.it/GNU/
Newsgroup: it.comp.lang.c
Titolo: niubbo: c da linea di comando

domanda: come si fa a passare da linea di comando alcuni parametri ad un
prog c?
premetto che mi sto leggendo il linguaggio c e che se c'e' scritto li' non
serve mi rispondiate
grazie :)

 serve mi rispondiate
Capitolo 5.10 per tutti i dettagli.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
"L'ottimista pensa che questo sia il migliore dei mondi possibili. 
 Il pessimista sa che e` vero" -- J. Robert Oppenheimer

"Kronos"
te vojo ben! :)
Newsgroup: it.comp.lang.c
Titolo: Libreria per compressione dati

Salve,
 ho realizzato un SW per l'acquisizione dati da sensori. I dati
acquisiti sono salvati su file di testo ed eventualmente inviati ad un
pc remoto via seriale o modem. Per velocizzare tutto vorrei comprimerli:
mi suggerite delle librerie semplici da usare?
Il SW è sviluppato con C standard (compilatore DJGPP), e non posso
passare a soluzioni più innovative (vedi visual C e simili).
Grazie
Tibbolo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

ppp e` di solito associato a librerie per la compressione ed e` tutto
fatto in modo traparente.
Il protocollo di trasmissione è proprietario (ovvero fatto da me), quindi
non prevede la compressione. E' per questo che vorrei aggiungerla.
Qualche altro suggerimento?
Grazie
Ciao
Newsgroup: it.comp.lang.c
Titolo: errore puntatore

salve,
ho win98 ed il dev c++.
non riesco a fare funzionare questo programmino () che riporto ridotto
all'osso per semplificare
la diagnosi.
////////////////////////////////////////////////////////////////////////////
//
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
////////////////////////////////////////////////////////////////////////////
//
/*ora viene descritto il prototipo delle funzioni*/
char* wfd(int* segnale_int, int n_campioni,  int *p_n_frame);
/*ora comincia il programma principale*/
int main()
{
int n_campioni=480;
int n_campioni_ogni_frame=80;
int frame;
int n_frame;
int segnale_int[n_campioni];
int i;
char *lista_esito, ;
n_frame=n_campioni/n_campioni_ogni_frame;
for(frame=0;frame<n_frame;frame++)
{
for(i=0;i<n_campioni_ogni_frame;i++)
{
segnale_int[n_campioni_ogni_frame*frame+i]=0;
}
}
/*ora la creazione del segnale di test è completata*/
lista_esito=wfd(segnale_int, n_campioni, &n_frame);
getchar();
}
/*qui termina il main()*/
////////////////////////////////////////////////////////////////////////////
//
char* wfd(int* segnale_int, int n_campioni, int p_n_frame)
{
 char* lista_esito;
 int n_frame, n_campioni_ogni_frame=80;
 n_frame=n_campioni/n_campioni_ogni_frame;
 *p_n_frame=n_frame;
 return &lista_esito[0];
}
////////////////////////////////////////////////////////////////////////////
///
Non riporto le altre funzioni richiamate da wfd() visto che sono corrette.
Il compilatore mi dà solo un errore in tutto il programma:
282 C:\Documenti\tesina VAD wfd 25 05 08\testa_wfd_prova_2.cpp invalid type
argument of `unary *'
L'istruzione che secondo il compilatore è errata è:
 *p_n_frame=n_frame;
Mi sembra di capire che lui voglia interpretare "*" come moltiplicazione, e
non capisce invece
 che  io lo intendo come puntatore.
Ciò che io voglio, è porre nella variabile n_frame del main(), il valore
della variabile n_frame
 nella funzione wfd(). Anche se hanno lo stesso nome, sono due variabili
distinte.
Al tale fine mi servo del puntatore p_n_frame che fa da tramite fra il main
e la funzione.
Eppure il compilatore non capisce.
Che cosa sbaglio?
grazie,
adriano


Sbagli la dichiarazione di p_n_frame nella definizione della funzione
wfd: ti sei dimenticato di dichiarare la variabile p_n_frame con
l'asterisco.

 non capisce invece che  io lo intendo come puntatore.
L'errore dice che il tipo dell'oggetto su cui hai applicato l'operatore 
unario '*' non č valido. L'operatore unario '*' va applicato ad oggetti 
di tipo puntatore mentre la tua funzione dichiara p_n_frame come int.
Newsgroup: it.comp.lang.c
Titolo: ruggine (puntatori e affini...)

Se dichiaro:
char *s;
...
s = (char *) calloc(10, sizeof(char));
so che poi posso usare s come se avessi dichiarato
s[10];
in laltre parole è legale una cosa del tipo
int i;
char c;
c = s[i];
MA se al posto di char uso un tipo dato che io ho definito, la cosa funziona
lo stesso?
Ovvero, se dichiaro:
typedef struct _alpha
{
    int a;
    char b;
    struct beta *pb;
    mondi m[10];        // mondi è un altro tipo dato definito da me
    ....
} alpha;
alpha *pa;
...
pa = (alpha *) calloc(10, sizeof(alpha));
// con pa = malloc(10) ottengo stesso risultatato?
posso poi usare pa come se lo avessi dichiarato vettore
alpha pa[10];
???
in altre parole, è legale una cosa del tipo:
int i=2;
alpha a;
...
memcpy(&a, pa[i]);
e se la risposta e' SI, in a mi ritrovo il terzo elemento del "vettore" pa?
ovvero pa[2] è un elemento di tipo alpha, ed e' il terzo del "vettore"?
Scusate la domanda, ma sono un po' arruginito nella programmazione C, e
grazie per le risposte!
Ciao a tutti
Beppe


ICQ #34602650

* sizeof(alpha))
OK, qundi mi sembra di capire che l'esempio che ho postato vada bene
Grazie mille
Beppe

ovvero pa[2] è un elemento di tipo alpha, ed e' il terzo del "vettore"?
Si'.

OK, qundi mi sembra di capire che l'esempio che ho postato vada bene
Stai attento pero'.
Il nome di un array viene trattato come puntatore solo in determinati
casi.
E comunque costituisce un lvalue che non e' possibile modificare.
Non e' possibile, per esempio, eseguire un autoincremento su un
vettore.

questi tre metodi :
Grazie, sei stato molto esauriente.
Ciao,
    Beppe

piuttosto che s[i] piuttosto che altro...
Credo che si dia peso alla maggiore leggibilita' del codice
utilizzando s[i].
Scrivere s[i].nome e' sicuramente piu' leggibile che (s+i)->nome
Newsgroup: it.comp.lang.c
Titolo: Emulatore CPU in C

Salve a tutti, non so se questo č il posto giusto (sono alla prima
esperienza con i newsgroup), ad ogni modo volevo chiedervi se e dove č
possibile trovare HOWTO o altro tipo di documentazione su come scrivere un
emulatore/simulatore di CPU(68000/6502, ecc.) in C, magari che spieghi quali
sono le tecniche, i costrutti utilizzati per i problemi che chi affronta
questo tipo di progetto generalmente incontra. Se dovessi aver sbagliato
newsg. scusatemi.
Grazie in ogni caso.



 
Non è il caso che posti tre volte, una basta :-)
Per il tuo problema ti posso dire che in università un 
ragazzo aveva fatto come tesi proprio questo tipo di 
simulatore. Aveva scritto un programma in C che faceva 
da compilatore per le istruzioni da codice assembaltivo 
a esadecimale. Poi tutto il simulatore era composta da
javascript. Veniva caricato sul browser e simulava il 
comportamento dei vari registri dello stack e così via.
ciao ciao

 newsg. scusatemi.
Se cerchi i source per il C64 probabilmente li trovi. (usa google)
Per quanto riguarda la scrittura di un emulatore penso che la stesura del
codice non sia particolarmente complessa.
Occure una perfetta conoscenza di cio' che vuoi emulare ed un minimo di
capacità logica.Scrivere codice è banale.
Byes
FusionFai

 Se cerchi i source per il C64 probabilmente li trovi. (usa google)
"vice", scritto da Ettore Perazzoli ed altri.  (Sotto Linux, almeno)
-- 
David N. Welton
   Consulting: 
http://www.dedasys.com/
Free Software: 
http://people.debian.org/~davidw/
   Apache Tcl: 
http://tcl.apache.org/
     Personal: 
http://www.efn.org/~davidw/

Newsgroup: it.comp.lang.c
Titolo: il buffer??

spesso sento parlare del "buffer" spero si scriva cosi
e all'importanza della sua pulizzia
con while(getchar()!='\n');
qualcuno potrebbe darmi maggiori delucidazioni
(che parolone)
che cosa è?
quando conviene pulirlo?
perchè si pulisce cosi?
quanti modo ci sono per pulirlo?
inoltre sto cercando qualche suto che parli delle librerie
tipo stdio conio math etc.per saper cosa c'è dentro??
grazie a tutti per la pazienza.

 tipo stdio conio math etc.per saper cosa c'è dentro??
Sulla documentazione del tuo compilatore dovresti trovare tutto quello
che ti serve.
EMG

in qualche modo fermarla.
Aggiungo che ci potrebbero essere, in dipendenza dal compilatore,
funzioni specifiche per la pulizia, vedi la tanto maltrattata fflush()
che, si e' detto piu' volte qui dentro, e' definita solo per i buffer
di output, secondo lo standard. Questo non toglie, tuttavia, che un
particolare compilatore possa implementare la funzione di flush anche
per gli stream di input.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
-----------------------------------------------------
"There is nothing better for understanding a kangaroo
 than seeing it jump." [D.Grune, C.J.H. Jacobs]
-----------------------------------------------------

Sul mio sito sto scrivendo una pagina con tutte le funzioni delle
librerie classiche (Borland Turbo C 2); la pagina è in costruzione, ma
sto piano piano aggiungendo tutto (molte funzioni non le ho mai
sentite...)

-- 
Ciao, gengisdave
http://digilander.iol.it/gengisdave
Newsgroup: it.comp.lang.c
Titolo: Vediamo chi sa rispondere







Salve a tutti....


 


Mentre mi divertivo creando programmi totalmente 
inutili come snake, paint e altre minchiate in programmi visuali (come c#) e non 
(come c/c++ console application) ho pensato di incominciare un pò di 
assembler!!


Siccome di stare a smanettare con l'assembler puro 
non avevo voglia, mi sono appoggiato ad un compliatore DOS, creando così dei 
porgrammini simpatici che usano la vga (illuminazione dei pixel), oppure che 
leggono dal buffer della tastiera.


Qualcosa mi dice che sti Ba..Bravissimi 
programmatori della microsoft hanno pensato a tutto e esportando il 
sorgente (con parti di assembler) in un compilatore win32, il file 
eseguibile, una volta lanciato, mi crea errori proprio sulle interruzioni 
assembler (int 16h, int 21h, ecc).


 


Ora avrei da chiedervi 3 o 4 
cosine:


1. Posso sperare di creare una libreria con un 
compilatore dos e usarla in un compilatore windows senza che questo mi dia 
problemi sulle interruzioni??


2. Come faccio a leggere dal buffer di imput TUTTI 
i tasti digitati dall'utente anche se non sto digitando direttamente sul mio 
programma. (per esempio mentre scrivo questo messaggio tutto quello che scrivo 
si salva su un file perchè il mio programmino è aperto)


3. Posso creare tutto quello che ho detto e rendere 
il tutto "invisibile" (pensavo ad un lavoro in background del mio 
programma).


4. Posso fare tutto con una console application 
(c/c++ o qualunque altra cosa basta che va).


Sfido chiunque a rispondere!!..
e ovviamente lo ringrazio!!!


 


p.s.: Lo scopo?? Bè devo sbirciare quello che dice 
mi sorella quando chatta nell'altro PC della casa :-D


 


!!!BUON NATALEEEE!!! E FELICE ANNO 
NUOVO!!!!!


 


Ciao Ciao


Da Mistre


 



 chatta nell'altro PC della casa :-D
Di keylogger ce ne sono a bizzeffe a giro per internet.
E' natale, fai il bravo.

  !!!BUON NATALEEEE!!! E FELICE ANNO NUOVO!!!!! Ciao CiaoDa Mistre
Salutoni e Auguri a tutti. Dave.

Newsgroup: it.comp.lang.c
Titolo: Borlanc C++ 4.52 & Nome l u n g h i dei file !!

Nel tentativo di programmare un surrogato dell'arcinoto comando dir del
dos mi sono accorto che da windows non riesco a leggere i nomi completi
dei file.
Accetto fiducioso suggerimenti !!!
ciao
PS ho utilizzato le funzioni findfirst() e findnext()

,
che sembrava aver detto :

Il compilatore cita che le istruzioni findfirst()/findnext() sono
obsolete.
Windows ha rimpiazzato queste vecchie routine dos con le nuove,
adeguate al riconoscimento dei nomi di file lunghi.
Consulta la lista degli interrupt di Ralph Brown, ci trovi tutte le
informazioni di cui hai bisogno.
Andrea Laforgia        (
andrea_...@bigfoot.com
)
----------------------------------------------------
There is nothing better for understanding a kangaroo
than seeing it jump.
----------------------------------------------------
Newsgroup: it.comp.lang.c
Titolo: Ci deve essere un modo per....

Vorrei chiedere se qualcuno e' a conoscenza di come poter stampare il
contenuto dell'ambiente grafico con il c/c++ Borland 3.1 e in generale se e'
possibile stampare immagini.
Ringrazio anticipatamente per l'aiuto che vorrete darmi.
Emilio
--
Posted from 
mta02-acc.tin.it
 [212.216.176.33]
via Mailgate.ORG Server - 
http://www.mailgate.org

possibile stampare immagini.
Che significa "il contenuto dell'ambiente grafico" ?
Le finestre dell'ambiente Turbo C per Windows ?
In questo caso puoi utilizzare Stamp o ALT+Stamp per salvare,
rispettivamente, nella clipboard di Windows l'intero video o la sola
finestra attiva.
Poi le incolli in un programma di grafica e le stampi.
Per quanto riguarda la stampa, in generale, di immagini, bisogna dare
uno sguardo ai comandi in proposito della stampante.

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

Cosa significa la seguente definizione di macro?
#define pippo
Grazie.

Newsgroup: it.comp.lang.c
Titolo: realloc e stringhe

Salve.
Questo frammento di codice dovrebbe servire a leggere una lista di nomi 
da un file di testo, concatenare ogni nome ad un array di caratteri (file_l)
includendo il carattere di terminazione '\0', ed aggiungere l'indirizzo 
del primo elemento di ogni sottostringa così creata ad un array di puntatori
(file_v). La cosa strana (o almeno lo è per me) è che le chiamate di
realloc non conservano integralmente il contenuto del vettore file_v, 
ma solo quello degli elementi finali, cancellando di fatto gli indirizzi
dei primi nomi del listone file_l. Allocando file_v tutto in una volta,
il problema non si pone. Qualcuno mi sa spiegare dov'è che sbaglio?
luke   
char *file_l, **file_v;
[...]
file_l=NULL;   
file_v=NULL;
st.nfile=0;
pos=0;
while ((fscanf(f_list,"%s",str))!=EOF){
      len = strlen(str);
      file_l = (char *) realloc(file_l,(1+len+pos)*sizeof(char));
      file_v = (char **) realloc(file_v,(1+st.nfile)*sizeof(char *)); 
      for (i=0; i<=len; i++) file_l[pos+i] = str[i];
      file_v[st.nfile] = &file_l[pos];   
      pos+=1+len;
      st.nfile++;
}
[...]

 }
Ad occhio il problema non e` qui [1]. Non mi e` ben chiaro perche`
scegli di ri-allocare ogni volta file_l, non e` piu` semplice (e chiaro)
usare un nuovo chunk di memoria?
file_l = malloc(len + 1);
file_v = realloc(...);
strcpy(file_l, str);
file_v[st.nfile] = file_l;
ciao
Luca
[1] ma forse non dovrei scrivere sui NG quando faccio fatica a stare
sveglio ;) Istintivamente direi che c'e` un problema con i terminatori
stringa, ma adesso non vedo dove.
-- 
Home: 
http://kronoz.cjb.net
Ligabue canta: "Tutti vogliono viaggiare in primaaaa..."
Io ci ho provato e dopo un chilometro ho fuso il motore e bruciato
la frizione...

 usare un nuovo chunk di memoria?
... perchè come un cretino non ci avevo pensato.
ora che l'ho fatto il programma va bene ed oltre
tutto è più semplice e funzionale. Certo, non ho
ancora capito cosa non andasse nel vecchio codice,
ma... al diavolo è molto meglio così.
Grazie molte
Luke
Newsgroup: it.comp.lang.c
Titolo: Compilatore cercasi

Cerco un compilatore C perfettamente funzionante, con tutte le librerie
(conio, stdlib, string, math, stdio, ctype...). Possibilmente freeware.
Accetto anche compilatori in DOS.
Chiunque voglia contattarmi: 
mel...@iol.it

melo ha scritto nel messaggio <01be267b$4f64edc0$LocalHost@benvenuto>...

Prova con gygwin32, lo trovi in 
http://sourceware.cygnus.com
e' parecchio grande (10 MB e piu' da scaricare) e compila programmi per
WIN32,
quindi solo nativi per NT o WIN95, ma girano anche in console, quindi
"sembrano" programmi "DOS".
Comprende anche tutto l' ambiente di sviluppo tipo unix, quindi sh, make,
grep, ....
Un altro lo fornisce la AT&T, cerca UWIN. Anche questo e' molto grande.
cygwin ha un parente, di cui non ricordo il nome, compatibile con Miscrosoft
Visual C++ 4.0 e seguenti.
fabio fabbri
fabio....@bo.nettuno.it

Newsgroup: it.comp.lang.c
Titolo: Aprire un file su A

Salve a tutti,
io ho fatto questo programmino di prova, ma non riesco ad aprire il file
Prova su a: o su una directory stabilita da me.
Come si fa a dire dove aprire un file?
Vi prego aiutatemi!!!!
distr...@iol.it
#include <stdio.h>
void main(void)
{  
  FILE *file1;
  char ch;
 
  if((file1=fopen("Prova.txt","w"))==NULL)
	{
	printf("Impossibile aprire il file!\n");
	}
  fprintf(file1,"Questa č una prova!");
  fclose(file1);
}

Come si fa a dire dove aprire un file?
    FILE* pouf = fopen("a:\\pippo.txt", "w");
Alex

 }
Il resto va tutto bene.
EMG

Newsgroup: it.comp.lang.c
Titolo: C e finestre a scorrimento

Salve a tutti,
premetto che sono alle prime armi con il Turbo C++,
vorrei sapere come fare per inserire nei mie mini programmi
una finestra di testo (esempio 10 righe e 30 colonne )
con scorrimento per scorrere col
le frecce di direzione le informazioni che mi interessano.
Grazie a tutti e saluti

le frecce di direzione le informazioni che mi interessano.
Devi usare Turbo Vision .

 wrote in message
3ae2745...@news.inwind.it...


Ma Turbo Vision e freeware? oppure  dove posso rimediarlo ?
Non ricordo se era incluso nel Turbo C++ 3.
Sicuramente era presente nel Borland C++ 3.1 .
ciao



Allora... il turbo visuon è un inzieme di file .h e di librerie che
contengono tutto il codice per fare delle ide come quella del Turbo
C++ o di Turbo Pascal.... insomma una bella ide per dos. Attento che è
molto difficile da usare (o almeno la versione per Pascal lo è) io ti
consiglio di fartela da te...
Io ci sto provando utilizando direttamente la mem video se ti
interessa quando ho finito (se finiro mai) te la posso spedire. 
La mia intenzione e quella di farla prima in pascal e poi tradurla in
C/C++
Se qualcuno mi vuole dare una mano nella traduzione ne sarei lieto!
Il Razziatore,
The Only Good Windows in an uninstalled Windows
-----------------------------------------------
E-MAILs : 
razzi...@usa.net
 (Primary),
 
IlRazz...@netscape.net
 (for Attachent)
WEB     : 
http://www.razziatore.dns2go.com/
ICQ     : 67552596
Newsgroup: it.comp.lang.c
Titolo: Aiutino semplice su strtok

Ciao sto iniziando da poco a imparare il C e non riesco a utilizzare strtok.
Qualcuno sarebbe cosě gentile da scrivermi un breve esempio per spezzare una
stringa (con strtok appunto) con un carattere prescelto.
Ringrazio anticipatamente.
PS: strtok ha delle buone prestazioni?

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

> PS: strtok ha delle buone prestazioni?
Dipende dall'implementazione.  Se chi ha scritto il compilatore è
stato sufficientemente furbo, l'avrà implementata direttamente in
assembly.  In ogni caso, tieni presente che strtok() non è
thread-safe.  Magari al momento non ti serve saperlo, ma in futuro...