mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: Chi mi corregge il programma?

Perchè non inverte? eppure mi sembra giusto, Grazie Carlo
/*Invertire l'ordine di un array.*/
#include<stdio.h>
#define MAX_NUM 8
main()
{
long int i,r,t;
/*inserimento valori nell'array*/
int vett[MAX_NUM]={1,2,3,4,5,6,7,8};
/*Visualizzazione dei componenti del vettore*/
 for(i=0; i<MAX_NUM; i++)
  printf("%4d",vett[i]);
  /*Inversione dell'array*/
  r = MAX_NUM/2;
   for(i=0; i<r; i++){
   t = vett[i];
   vett[i] = vett[MAX_NUM-i+1];
   vett[MAX_NUM-i+1] = t;
   }
 /*Stampa del risultato*/
    printf("\n\n");
    for(i=0; i<MAX_NUM; i++)
    printf("%4d",vett[MAX_NUM-i+1]);
}

    printf("%4d",vett[MAX_NUM-i+1]);
vett[MAX_NUM - i - 1]
Saluti,
Marco



Prova con questa versione. 
/* Inverte lordine degli elementi di un'array */
#include<stdio.h>
#define MAX_NUM 8
main()
{
  int i, t;
  /* inserimento dei valori nell'array */
  int vett[MAX_NUM]={1,2,3,4,5,6,7,8};
  /* visualizzazione degli elementi */
  for (i=0; i<MAX_NUM; i++)
    printf("%4d", vett[i]);
  /* inversione dell'array */
  int vett_inv[MAX_NUM];
  for (i=0; i<MAX_NUM; i++){
    vett_inv[MAX_NUM-i-1]=vett[i];
  }
  /* stampa del risultato */
  printf("\n\n");
  for (i=0; i<MAX_NUM; i++)
    printf("%4d", vett_inv[i]);
  printf("\n\n");
}
Ciao, corrado

Newsgroup: it.comp.lang.c
Titolo: secondi attesa prima di printf

Please
problema in C: il programma stampa il risultato di una somma. E'
possibile far ritardare la stampa della somma di x secondi e
permettere all'utente di dare la soluzione prima che scadano i secondi
e successivamente controllare se ha risposto esattamente?
grazie s.zero

s.zero wrote:

Ci sono alcuni modi:
- attesa attiva (pessima idea, ma portabile ovunque): era stato postato un 
  po' di tempo fa', non ricordo piu' da chi, spero non me ne voglia se non 
  mi ricordo chi era :)
  /* timer (cpu intensive) */
  #include <time.h>
  void suspend(int nsec) {
      time_t t1, t2;
      for(t1=time(NULL),t2=t1; difftime(t2, t1) < nsec; t2=time(NULL));
  }
- utilizzi le primitive del sistema operativo sotto cui sviluppi per mandare 
  in sleep il processo per il tempo che ti serve (sotto sistemi Posix sleep)
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

 - s.zero :

AFAIK in ANSI C no, a meno che non usi time.h, ma la vedo molto dura...
Devi appoggiarti a librerie dipendenti al sistema, quidni OT qui.
Windows: it.comp.programmare.win32 (spero sia questo il nome...)
Linux: it.comp.os.linux.development
Ciao,
-- 
oOO()             |Nicholas Wieland|
/ _/              |nicholas_wieland|
|/ [ Step on the ]|    @
yahoo.it
   |
\_)[  right foot ]|________________|
Newsgroup: it.comp.lang.c
Titolo: estrarre valori da file

Ciao a tuti. Devo estrarre da un file che contiene numeri interi i valori 
positivi e dispari, e caricarli in un array da 80 elementi. Il caricamento 
deve terminare se:
-i valori con quelle caratteristiche sono terrminati: in questo caso riempi 
le restanti posizioni dell'array con -1
-gli elementi del vettore sono tutti pieni
Questo è il codice che ho scritto:
#include<stdio.h>
#include<windows.h>
main()
{
 FILE *fp;
 int vett[80];
 int appoggio;
 int i=0;
 fp=fopen("val.txt","r");
 while(fscanf(fp,"%c",&appoggio)!=EOF && i<80 )
 {
  if(appoggio%2!=0 && appoggio>=0)
  {
   vett[i]=appoggio;
   i++;
  }
 }
 if(i<80)
 {
  while(i<80)
  {
   vett[i]=-1;
   i++;
  }
 }
però i valori che leggo sembrano tutti casuali: dove sbaglio?
Grazie a tutti. 

    vett[i]=appoggio;
Stai inserendo in vett i codici ASCII dei caratteri del file di input. 
Sei sicuro che sia questo quello che vuoi fare?
E.	

Accidenti, era proprio un errore banale, grazie. Quindi non devo "dire" alla 
funzione fscanf il tipo di dato che č contenuto nel file, ma il tipo di dato 
che voglio io?


 che voglio io?
Gli devi dire come deve intepretare i bytes che si trova a leggere.
E.

Newsgroup: it.comp.lang.c
Titolo: void non è per funzioni che non passano variabili?

Ma "void" non significa che è una funzione che non restituisce valori?
E' scritto sul libro che sto studiando:
"..funzioni che non restituiscono alcun valore, e funzioni che non hanno 
parametri, in questi casi il C mette a disposizione un "tipo" speciale detto 
void."
Ora detto questo, non capisco perchè sotto buf viene elaborato dalla 
funzione sotto, e poi stampato sopra nella funzione main, come gli viene 
ripassato?
#include <stdio.h>
char buf[128];
void minMaiusc (void);
main()
{
  printf("\nInserisci stringa: ");
  scanf("%s", buf);
  minMaiusc();
  printf("%s\n", buf);
 }
void minMaiusc(void)
{
  int i;
  for (i = 0; buf[i] != '\0'; i++)
    if (buf[i] >= 'a' && buf[i] <= 'z')
      buf[i] = buf[i] - 'a' + 'A';
}
Grazie per chiunque possa darmi una mano,
Nicola 

 alla parte dove dice
     "Non lo restituisce. Condivide con main la stessa variabile."
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
-- 
gx
jah say love your enemy

 
Adesso è molto chiaro.
Non avevo capito prima cosa si intendesse per variabile globale.
Grazie
Nicola

 scanf("%s", buf);
....stack overflow.... :)))))))
ciao
Menez
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/
Newsgroup: it.comp.lang.c
Titolo: problema con switch

Ciao, vorrei sapere perché, a proposito del costrutto switch che ho
utilizzato qui di seguito, quando compilo il seguente programma, il
compilatore dà il seguente errore a propostito delle righe di codice
"case v[i_min]:" e "case v[i_max]:"
"case label doesen't reduce to an integer constant".
Grazie
/*  ~~ PGM che ricerca un assegnato elemento
       all'interno di un vettore ordinato in cui ogni elemento occorre
1 sola volta ~~  */
#include <stdio.h>
#include <stdlib.h>
#include "prototipi.h"
#define T 9     // 9 = elemento ricercato
int main()
{
    int v[11] = {-8, -5, 0, 2, 3, 5, 7, 9, 80, 97, 111}, result, i;
    int i_min, i_max, i_half;
    result = binSearch(v, T, 10);
    i_min = 0;
    i_max = 10;
    printf("i_min = %d\n", i_min);
    printf("i_max = %d\n", i_max);
    printf("\n");
    switch (T)
    {
        case v[i_min]:
           return i_min;
           break;
        case v[i_max]:
           return i_max;
           break;
etc. etc.

andrew ha scritto:

perchè v[i_min] e v[i_max] non sono costanti. Con lo switch puoi 
valutare l'ugualianza di una variabile (nel tuo caso T) solo con dei 
valori costanti, altrimenti usa più if.

thecaesar ha scritto:

T non e' una variabile e non puo' essere elemeto di valutazione
B.

T non e' una variabile e non puo' essere elemeto di valutazione
Ti sbagli, non č questo il problema. Il codice seguente č
perfettamente legale:
switch( 5 ) {
   case 0: ...
   case 5: ... 
}
piuttosto non puoi scrivere:
int a = 0, b = 5;
switch( 5 ) {
   case a: ...
   case b: ...
}

 - Mostra testo citato -
Quindi, riassumendo, con lo switch puoi valutare l'ugualianza di una
variabile solo con dei valori costanti. Ok?
Grazie

 variabile solo con dei valori costanti. Ok?
Di una espressione qualunque, non solo di una variabile. L'importante è 
che dopo "case" ci sia una costante intera:
-----------
#define B -11
switch ( x>0? 2*x : funz(-x) ) {
   case 64  : ...
              break;
   case 'A' : ...
              break;
   case B   : ...
              break;
   default  : ...
}
----------


dopo "case" ci può stare anche un carattere giacché i caratteri sono
costanti intere modulo il codice ASCII. Sbaglio?
Grazie

variabile solo con dei valori costanti. Ok?
Sě, ed č scritto su qualsiasi manuale.

 costanti intere modulo il codice ASCII. Sbaglio?
Non sbagli infatti 'A' e 65 sono equivalenti in tutte le macchine che 
usano ASCII come codifica per i caratteri.

   
Hai ragione,(anche se fare uno switch di una costante non e' che sera a 
molto) ;-)

 molto) ;-)
E' ovvio che non serve, ma era per spiegarti che non necessariamente il
valore da esaminare dev'essere un l-value.
-- 
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: Dimensioni di un buffer parzialmente riempito

Ciao a tutti..
Con sizeof() riesco a trovare le dimensioni in byte di un buffer[n] che
inizializzo in un source.
Ma se volessi trovare le dimensioni di un buffer riempito in parte??
con  :
calloc(sizeof(buf), buf);
dovrei trovare un buf[] di dimensioni pari a quelle trovate dal primo
parametro (sizeof). Però non è così.. o per lo meno non riesco sul mio
source.
while (!feof(f)) {
    fscanf(f, "%s", buf);
     calloc(sizeof(buf), buf);
     printf("\nvalore di buf = %d\n", buf);
...
mi dà sempre un valore uguale!  :(
help me  :)
grazie mille 
bye!
-- 
"That vulnerability is completely theoretical."
                                        -- Microsoft

 riesco sul mio source.
  Non conoscendo il tipo di /buf/ mi risulta difficile immaginare cosa
tu voglia ottenere da una chiamata di questo tipo. 
	Alla prossima,
		Marco

                                         -- Microsoft
Ciao.
Roberto.

sizeof( * void) da un valore lecito.
Assolutamente no.
La sintassi e' errata.
Il valore lecito viene dato da 
sizeof( void * )
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------
#exclude <windows.h>


Si! E' quello che intendevo. Ho sbagliato per la fretta.
Grazie della correzione. Spero di non aver indotto in errore
qualcuno. Naturalmente un puntatore a void ha una dimensione,
mentre non ce l' ha il suo puntato, che deve essere quindi
soggetto a casting.
Ciao.
Roberto.

   calloc(sizeof(buf), buf);
    ^^^^^^^^^^^^^^^^^^^^^^^^^
Uh ? ma cos'e' questo ?
calloc() deve avere come parametri la dimensione del blocco da
allocare e il numero di blocchi da allocare, non il buffer per il
quale allocare !


 soggetto a casting.
Scusate ma in effetti come lo avevo spiegato non era molto chiaro..
allora, meglio che spieghi esattamente cosa voglio fare nel mio source:
in un file.txt ho dei nomi che mi interessano, purtroppo nel suddetto
file ci sono anche numeri, interpunzioni, e lettere sconnesse..  
Il mio intento è quello di estrapolare dal file ciò che mi interessa
(solo i nomi) e questo l'ho già fatto, purtroppo però il prog mi và in
segmentation fault mettendo proprio la parte di codice relativa a
strlen(buf)!
eccovi la parte di codice interessata:
while (!feof(f)) {
  fscanf(f, "%s", buf);
   calloc(sizeof(buf), buf);
 printf("\nvalore di buf = %d\n", strlen(buf));
 if  ((isupper(buf[0])) && (isalpha(buf[1])) && ((strlen(buf)) > 2))
  fprintf(f2, "%s\n", buf);
}
Non capisco cosa possa avere di sbagliato questa parte di codice!
se tolgo  l'ultima funzione dall'operatore && (strlen()) il tutto
funziona regolarmente.
grazie ancora

Newsgroup: it.comp.lang.c
Titolo: 2 domande sul c

sviluppo qualche semplicissimo programma con il dev c++ in windows. Due
domande: 1)è possibile aprire un file e leggerne direttamente una riga
intera (come si fa ad esempio in visual basic con il comando line
input) invece di dover scansionare il file carattere per carattere?
2)quando eseguo i programmi mi si apre la finestra dos. E' possibile
sviluppare un programma in modo che venga eseguito sotto forma di
finestra windows (come avviene per i form visual basic). Come avrete
capito provengo da esperienze precedenti con il visual basic... grazie.

 capito provengo da esperienze precedenti con il visual basic... grazie.
Si č possibile, ma devi appoggiarti a dei toolkit o librerie per GUI,
che perň molto spesso sono in C++ e non in C, o direttamente alle API di
Windows (magari con l'aiuto di un resource editor). Ti consiglio di
chiedere su un NG piů specifico per Windows.
Ciao.

 finestra windows (come avviene per i form visual basic).
Necessiti di un ambiente di sviluppo per Windows.  Con Visual C++ o C++
Builder, tanto per citarne alcuni, si può fare.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 [...]Ti consiglio di chiedere su un NG più specifico per Windows.
..come it.comp.programmare.win32 ;-)


 capito provengo da esperienze precedenti con il visual basic... grazie.
Se stai usando il compilatore gcc aggiungi al progetto l'opzione di
compilazione -mwindows
ciao
Newsgroup: it.comp.lang.c
Titolo: Aiuto please!!

Qualcuno mi può dare qualche idea su come sviluppare questo
programma????
Non so come iniziarlo!!!!!
Scrivere una funzione che prese in input due stringhe, A e B, stampi
la stringa
corrispondente al lucchetto di A e B. Il lucchetto di due stringhe A e
B `e una
terza stringa C ottenuta prendendo la prima stringa, eliminando una
certa porzione
dalla coda (parte finale) di A che `e contenuta nella testa (parte
iniziale) della seconda
stringa B, e poi prendendo la coda della stringa B. Quindi, se la
stringa A = XY
(dove X ed Y sono due porzioni della stringa A) e B = Y Z, il
lucchetto di A e B `e
la stringa C = XZ (dove l'ultimo carattere di X `e diverso dal primo
carattere di Z).
Ad esempio prese le due stringhe mais e sale, il lucchetto di tali
stringhe `e maiale.
Ancora prese le stringhe persona e sonate, il lucchetto `e la stringa
perte. Bisogna
perci`o determinare la massima sottostringa comune alla coda di A ed
alla testa di
B, eliminarla da entrambe le stringhe e concatenare le parti restanti
di A e B.
Grazie a chiunque possa farlo!!!


Non ti aspettare che qualcuno faccia il tuo esercizio per te.
Leggi un po' di documentazione ( ad es. 
http://www.cppreference.com/stdstring/index.html
), se hai qualche dubbio specifico chiedi pure, ma l'esercizio devi
svolgerlo tu, altrimenti cosa impari?

 - Mostra testo tra virgolette -
Ok, su questo son d'accordissimo!!!
Ma mi basta una mezza idea su come trattare le due stringhe....:-(


la prima stringa la tratti a ritroso, la seconda stringa in avanti e le 
scandisci fino a trovare la prima coppia di caratteri differenti :-)

 Non so come iniziarlo!!!!!
Dai, praticamente t'ho detto come si fa!
ps: lo so, non c'entra niente con questo ng, e mi scuso con tutti gli altri,
ma avevo mezz'ora libera e tanta voglia di aiutare NickSb :D
-- 
Under construction

 scandisci fino a trovare la prima coppia di caratteri differenti :-)
Erh, ora pero' non diamo consigli sbagliati ^^;
Dall'esempio stesso, prendi "persona" e "sonate", il cui lucchetto
è "perte": seguendo il tuo consiglio verrebbe trovato,
invece, "personasonate".
-- 
Under construction


c....io e' vero, e pensare che mi diletto POCO di enigmistica
MEA CULPA

corrispondente al lucchetto di A e B.
L'algoritmo è abbastanza semplice:
Compi degli accavallamenti progressivi - puoi farlo semplicemente
lavorando su degli indici i e j rispettivamente per A e B - e ti fermi
quando scopri (è qui il succo dell'algoritmo) l'accavallamento
massimo:
1) person[a] 
         [s]onate   (nessuno)
2) perso[na] 
        [so]nate    (nessuno)
3) pers[ona]
       [son]ate     (nessuno)
4) per[sona] 
      [sona]te      (accavallamento lungo 4)
5) pe[rsona]        (nessuno)
     [sonate]
5) p[ersona]        (nessuno)
    [sonate]
Dico "accavallamento massimo" perché potresti avere degli
accavallamenti parziali. Esempio banale: "aaaaaa" e "aaa".
Newsgroup: it.comp.lang.c
Titolo: Cast, è corretto?

Vorrei sapere se questo cast è corretto:
  long cutoff, minsat, maxsat;
  float alpha;
  cutoff = minsat + ((long)( alpha * (maxsat-minsat) ));
L'obiettivo è portare a long il risultato di alpha * (maxsat-minsat).
Inoltre, che differenza c'e' tra abs() e iabs()?
Grazie e scusate.

 Inoltre, che differenza c'e' tra abs() e iabs()?
abs() è standard, iabs() no e non so cosa faccia.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Perché non provi ?
L'ho fatto è funziona. Chidevo solo se è corretto oppure andrebbe fatto in
un altro modo. Cmq, scritta così raggiunge l'obiettivo.
Scusa se rompo, potresti dare un occhi al post sotto? :-)))))
GRAZZZZZZZIE
Newsgroup: it.comp.lang.c
Titolo: problemi con tipi di dato e -std=c99

Salve, sto cercando di compilare una programma, tutto scritto in ansi c99.
Adesso devo implementare un timer, e questo mi crea dei grossi problemi
perché non c'è modo di fargli vedere i tipi di dato timer_t , sigevent_t
e itimerspec
il pezzo di codice è
typedef struct _my_timer_t my_timer_t;
struct _my_timer_t
{
  timer_t timer;
  sigevent_t evp;
  struct itimerspec expiration;
};
Se non compilo con il flag -std=c99 funziona, ma mi nascono tanti altri
warning che non vorrei, perché non posso fissarli tutti.
Posso fare qualcosa per riuscire a compilare con -std=c99? Tipo definire
qualche variabile?

 qualche variabile?
Dipende tutto se i file di inclusione usati (in questo caso <time.h> e
<signal.h>) seguono lo standard c99. Nel tuo caso sembra che alcuni
tipi non siano disponibili seguendo lo stretto standard c99 perchè
hanno bisogno di estensioni specifiche del compilatore. L'unica
soluzione che vedo è spulciarsi i file di inclusione per trovare la
direttiva di compilazione che permetta di far rientrare i tipi
necessari nello standard. Una che potrebbe funzionare è _GNU_SOURCE.
(prova quindi con -std=c99 -D_GNU_SOURCE)
Ciao!

 hanno bisogno di estensioni specifiche del compilatore.
già, ma tali tipi di dato e funzioni sono disponibili come estensioni posix.
Come si abilitano tali estensioni?

 
fmas...@gmail.com
 ha scritto:

Di solito sono direttive di precompilatore. Ho provato sulla mia
macchina il tuo codice, e come mi aspettavo compila senza errori
definendo _GNU_SOURCE. Stranamente invece non funziona definendo
_POSIX_SOURCE, che se non sbaglio dovrebbe essere appunto la direttiva
per abilitare le estensioni posix.
Prova se un #define (o un -D) delle due macro sopra risolvono il
problema.

fma...@gmail.com
 ha scritto:

messo col -D nel Makefile va, nel .h no. Grazie.
Tuttavia adesso devo provare a vedere se questo crea problemi nel
porting del software su freebsd

 porting del software su freebsd
Parlando da totale profano, io guarderei cosa si può fare con autoconf/
automake: sembra uno di quei problemi tipici che questi tool di solito
risolvono. La mia è solo un'idea, purtroppo su questi non ho per nulla
esperienza.

   
Attenzione che Posix e C sono due cose diverse!
C è un linguaggio coperto da standard, l' ultimo è il C99.
POSIX  (/Portable Operating System Interface/), è uno standard di
API che copre un set di funzioni che tutti i sistemi operativi 
posix-compliant
si impegnato a supportare, in modo che la stessa applcazione possa essere
portata in modo indolore da una piattaforma ad un altra.
Posix non c'entra nulla col linguaggio!
B.

brix99luftballons ha scritto:

giusto, il fatto è che il problema di non compilare nasceva se passavo
-std=c99. Non so se senza tale flag gcc automaticamente passi
_GNU_SOURCE....
Newsgroup: it.comp.lang.c
Titolo: Re: cross query di un punto

 "peso" maggiore.
??????????

dunque, cerco di spiegarmi meglio (gulp!)
ho una matrice riempita da 0 e 1.
per ogni pixel (elemento) della matrice il programma deve leggere il
numero in esso contenuto, leggere quelli posti "a croce", cioè a
destra, a sinistra, sopra e sotto.
Se i pixel adiacenti contengono entrambi 0, allora si dveono ignorare;
se sono entrambi 1 vengono prese entrambe le coordinate.
Dove invece si incontrano 2 pixel adiacenti con valori diversi si deve
fare un' interpolazione lineare per trovare un punto intermedio e si
leggere le coordinate di quel punto.
Fatto questo, il programma dovrà unire tutti i punti così ottenuti.
beh, spero che vada meglio...
grazie per i suggerimenti che vorrete darmi!!!

Avete suggerimenti? Non so proprio da dove partire...
Io partirei da 2 for annidati:
int x,y,lx,ly;
lx = larghezza matrice;
ly = altezza matrice;
for (x=0;x<lx;x++)
   for (y=0;y<ly;y++)
      {
Da qui vai avanti tu...

"Goodidea" ha scritto

Penso che si aspetti qualche suggerimento un po' più approfondito.
Se non sa neanche scorrere gli elementi di una matrice (cosa che non penso),
è meglio che lasci stare.

 Fatto questo, il programma dovrà unire tutti i punti così ottenuti.
Unire? Con cosa? Dell'immagine sopra che cosa mi dici? Quale dovrebbe essere 
l'output?
-- 
Costantino Grana 

 Non c'ho capito niente!
[...]
Hai descritto esattamente tutto quanto anch'io non avevo capito.
Solo che avevo lasciato perdere visto che si č ben lontani da una
descrizione dettagliata e precisa dopo 2 tentativi eseguiti. Vediamo se
arriva un terzo tentativo e questa volta si capisce qualcosa...

 se arriva un terzo tentativo e questa volta si capisce qualcosa...
Ne approfitto per un commento ai newsgroup in generale. Purtroppo, troppo 
spesso, chi fa delle domande non segue il newsgroup successivamente, oppure 
non fornisce feedback per approfondire o valutare se la risposta è stata 
utile. Insomma, non si capisce se il thread è ancora aperto. Una delle cose 
più fastidiose è la sensazione di rispondere al nulla! :-)
-- 
Costantino Grana

Newsgroup: it.comp.lang.c
Titolo: Disabilitare output video per richista pw

Ciao a tutti,
sto realizzando una shell per sistema UNIX, una feature che io e il mio 
gruppo volevamo implementare è il "lock" ovvero la richiesta di PW (due 
volte) per permettere all'utente di lockare la shell fino 
all'inserimento corretto della PW scelta.
Ok, il problema però è impedire che alla pressione dei tasti l'input 
venga passato direttamente allo standard output (im modo che 
all'inserimento della pw questa non venga visualizzata), ma non 
riusciamo a fare questa cosa...
Su internet ho trovato che per fare ciò bastrebbe usare una getch() che 
senza l'accoppiata con putch() non dovrebbe dare output a video, invece 
ciò non accade :(
Qualcuno saprebbe consigliarci come procedere?
Grazie ancora,
Andrea

 
http://www.danlj.org/lad/src/readpass.c.html
Ci sarebbe anche getpass(), ma man dice che e' obsoleto...
-- 
Roberto -MadBob- Guido
mail bob4mail***@***
gmail.com
web 
http://madbob.homelinux.com
BrainTop Project maintainer - 
http://braintop.sf.net
Newsgroup: it.comp.lang.c
Titolo: warning su una struct

Salve a tutti.
Ho bsogno di una mano per questo codice:
typedef struct {
    char* commandname;
    char* commandinfo;
    int (*func)(char *command );
} command_t; 
command_t *command_list[] = { 
    { "aaaaa", "", NULL},
    { "bbbbb", "", funct_b},
    { "ccccc", "", funct_a}
};
Sotto linux, con gcc 4.0.3, compila.
Solo che:
main.c:48: warning: braces around scalar initializer
main.c:48: warning: (near initialization for 'command_list[0]')
e siccome odio i warning vorrei capire cosa sto facendo che nn gli va.
hints?
Grazie.


forse perche' stai inizializzando un array di puntatori a struct
come fosse un array di struct ?
ciao,
g.

 come fosse un array di struct ?
...
...
eh... proprio quell'asterisco non lo vedevo!
grazie mille.
ciao
Newsgroup: it.comp.lang.c
Titolo: Gcc e accesso a MySql

Salve a tutti,
Dato che utilizzo sempre sistemi Microsoft mi trovo in difficoltà per
analizzare la fattibilità di un progetto che dovrebbe essere realizzato su
un sistema Linux con il compilatore Gcc.
E' possibile trovare delle librerie c per l'accesso a Mysql ?
Dove posso trovare documentazione a riguardo?
Grazie 1000 Ciao a tutti
--
Toglere #NOSPAM# dall'indirizzo
Cut #NOSPAM# to replay

 Grazie 1000 Ciao a tutti
ciao
    Sbirish

 devc++ == gcc.
mmm, credo sia meglio cygwin, che emula il layer UNIX su windows: lento, 
ma posix compliant

Grazie 1000 per le risposte :-)
Cygwin e devc++ mi sembrano molto interessanti!
Pero' guardando il sito di Devc++  mi viene un dubbio:
E' un ambiente di sviluppo per windows mentre io dovrei realizare un
programma per Linux.
E' possibile sviluppare l'intero progetto su windows eppoi è portabile al
100% (ricompilandolo) su linux?
Che mi consigliate?
Grazie ancora

 Che mi consigliate?
Come ti hanno gia' suggerito, cygwin. E come ti hanno gia' detto, sotto
Windows e' un pianto.
Maggiori info
http://www.cygwin.com/
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



windows è windows imho... :) altrimenti ti installi una FreeBSD o chi
per lei e passa la paura :)
ciao,
	sbirish

 per lei e passa la paura :)
non hai mai lavorato su una macchina di cui non sei un amministratore, 
vero?



si, spesso Enrico..
ciao
 sbirish

 >vero?
e allora che consigli dai?

 wrote in message
news:10779414....@news.iol.it...

? non ho mica capito..
io stavo dicendo.. se devi lavorare su linux (o uno unix o che altro)..
lascia stare le
cygwin e mettiti quell'os.. oppure fa in modo di scrivere codice portabile
in modo
che compili in entrambi
tra l'altro se non erro ( non vedo piu' parte dei post ) chi ha iniziato il
thread chiedeva delle lib
per mysql da usare con gcc..
.. visto che non son saltati fuori problemi come "come faccio il port di una
fork() su windows" o
"devo portare in fretta del codice da linux a windows"
non vedo alcun motivo per usare una lib che offra tale layer di emulazione..
specialmente se riesce a tenere il progetto abbastanza negli standard..
mysql++ e le api di mysql
sono offerte sia per win ( senza dover far uso delle cygwin) che per vari
nix..
gcc esiste per svariate piattaforme..
... a cosa servono le cygwin qui?
... cosa c'entra se ho lavorato su macchine di cui non sono admin?
non ti sto provocando.. non ho proprio capito il tuo punto..
ciao
 sbirish
Newsgroup: it.comp.lang.c
Titolo: SCRITTURA FILE

Non riesco proprio a capire come scrivere e leggere qualcosa su un
file di testo. Ad esempio, se volessi inserire o salvare una struttura
del tipo:
typedef struct{
   char nome[20];
   char cognome [20];
   int eta;
}utente;
in un file di testo in modo che l'output a video sia:
 
Alessia Merz 25
   Rossella o'hara 99
   Penelope Cruz 25
come potrei fare?


Usa la fprintf(), Luke! :-)))
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg

 }utente;
/*********************************************
*Così lo scrivi
*********************************************/
#include <stdio.h>
#define NOMEMAX    20+1
#define FLUSH            while(getchar()!='\n')
int main()
{
    typedef struct{
        char nome[NOMEMAX];
        char cognome[NOMEMAX];
        unsigned eta;
    }utente;
    utente usr;
    FILE *file;
    if(!(file=fopen("archivio.dat", "a"))){
        fputs("Impossibile aprire il file\n\n", stderr);
        return 1;
    }
    printf("Cognome, nome ed età:\n");
    scanf("%20s%20s%u", usr.cognome, usr.nome, &usr.eta);
    FLUSH;
    fprintf(file, "%s %s %u\n", usr.cognome, usr.nome, usr.eta);
    return 0;
}
/*******************************
*Così lo leggi
*******************************/
#include <stdio.h>
#define NOMEMAX    20+1
int main()
{
    typedef struct{
        char nome[NOMEMAX];
        char cognome[NOMEMAX];
        unsigned eta;
    }utente;
    utente usr;
    FILE *file;
    if(!(file=fopen("archivio.dat", "r"))){
        fputs("Impossibile aprire il file\n\n", stderr);
        return 1;
    }
    fscanf(file, "%20s%20s%u", usr.cognome, usr.nome, &usr.eta);
    printf("Cognome, nome ed età:\n");
    printf("%s %s %u", usr.cognome, usr.nome, usr.eta);
    return 0;
}
Se poi vuoi inserire e leggere diversi record nello stesso file, devi
modificare un po' le cose.
Saluti
Newsgroup: it.comp.lang.c
Titolo: stampante

Come faccio a redirigere l'output in modo che si possa usare la
stampante?
Grazie per l'aiuto.
                            Carlo Salaroglio

nomefile" e nel programma scrivi sullo standard output con printf e
funzioni analoghe.
Ciao.
--
Antonio Donatiello

...


stampante?
Dipende piu' dal sistema operativo che usi, che non dal
tuo linguaggio di programmazione o dalle sue librerie.  Ad
esempio, se hai un programma DOS che scrive su standard
output senza nessuna redirezione interna al programma,
puoi dirigere il suo output sulla stampante con:
    tuoprog >LPT1
o forse meglio in due passi usando lo spooled di stampa:
    tuoprog >fileo.txt
    print fileo.txt
Nota che queste sono operazioni puramente di sistema,
completamente "trasparenti" al "tuoprog", che va scritto
"come se" le stampanti neppure esistessero.
Viceversa, se, sempre in DOS, vuoi che sia il programma
a uscire su stampante invece di lasciare la scelta al suo
utente, puoi ad esempio usare:
    FILE* stamp = fopen("LPT1", "w");
e scrivere sul file "stamp".
Ma l'approccio da usare per stampare sotto Windows e'
invece radicalmente diverso -- sotto Macintosh, diverso
ancora.  Quello che piu' o meno dovrebbe funzionare
+ o - dappertutto e' l'approccio "a due passate":
    -- il tuo programma scrive il suo output su di un
        file di testo sul disco (direttamente, o grazie a
        una ridirezione di standard-output di sistema)
    -- alla fine, il file di testo e' sottoposto al sistema
        di stampa del tuo SO con opportuno programma
        di "spooler" dipendende, appunto, dal SO
Ma questo e' un "minimo comune denominatore" che
non permette al programma di trarre alcun beneficio
dalle funzionalita' piu' avanzate eventualmente offerte
dal tuo sistema, come la paginazione della stampa in
funzione delle caratteristiche della carta montata e
della dimensione dei font, l'uso di grafica, ovvero di
molteplici font, o colori, o altre cose ancora che la tua 
stampante potrebbe offrire e il tuo SO supportare...
raramente un simile minimalismo e' accettabile in un
programma professionale!
Alex

Newsgroup: it.comp.lang.c
Titolo: Si puo fare logout da un programma c?

Come da subject,grazie!Ciao Ciao!
--
Posted from 
studenti.unina.it
 [192.132.34.114]
via Mailgate.ORG Server - 
http://www.mailgate.org

Come da subject,grazie!Ciao Ciao!
In che sistema operativo?
Una variante degli Unices, oppure Win9x, WinNTx ?

,

Le interazioni di un programma con il sistema operativo sono spesso specifiche
del sistema. C'e' comunque un approccio standard che consiste di inviare al
sistema operativo un comando con: system("Comando");
Ovviamente il contenuto di Comando dipende dal sistema operativo.
Se sei su UNIX, attento che system crea una nuova shell in cui i comandi sono
eseguiti.
Ciao Paolo
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own
Newsgroup: it.comp.lang.c
Titolo: Aiuto - conoscere lo statote della stampante

Aiutatemi, come posso fare per sapere
lo stato della stampante.
Grazie infinite

 Aiutatemi, come posso fare per sapere lo stato della stampante.
Devi lavorare a basso livello e conoscere come funziona la porta parallela e
in generale la stampante: non esiste nessuna funzione standard che ti
ritorna le info già belle e pronte.
Se vuoi fare qualcosa di semplice ti basta leggere il valore della porta di
stato della parallela e interpretare i il significato dei bit.
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

 lo stato della stampante.
Per il DOS io usavo la seguente:
/* Ritorna codice d'errore se la stampante non e' pronta a stampare
 bit 0 : spenta  bit 3 : errore I/O
 bit 5 : senza carta bit 6 : generico
*/
int prnfail(){
#ifdef __ASSEMBLER__
 int responso;
 asm{
 mov ah, 2
 xor dx, dx
 int 0x17
 mov responso, ax
 }
 return (responso & 0x0069);
#else
 union REGS reg;
 reg.h.ah = 2;
 reg.x.dx = 0;
 int86 (0x17, &reg, &reg);
 return (reg.h.ah & 0x69);
#endif
};
La funzione è sia in assembler che in Turbo C, vedi tu quale usare, a
seconda che tu definisca o meno la pseudo-variabile __ASSEMBLER__

 Grazie infinite
Il turbo C/C++ Borland 4.5 ha una libreria, <bios.h>, che mette a
disposizione una serie di primitive tipo "bioscom()" e "biosprint()" che
fanno un po' di tutto su seriale e parallela. La seconda, in particolare,
restituisce lo stato della parallela se invocata in questo modo:
int    main()
{    int status;
    status=biosprint(2,0,0);
}
Cmq, nell'help in linea c'è tutto.
Ciao-

Newsgroup: it.comp.lang.c
Titolo: ascii art su console

salve
vorrei fare dei disegni stile "ascii art" su console
pero' le normali istruzioni di scrittura su standard output non vanno
bene
so che c'e' la possibilita' di scrivere direttamente su una zona di
memoria, che rappresenta lo schermo 80 x 25
(un byte il carattere, un byte il colore... ho vaghi ricordi...)
ho cercato un po' in rete, ma non riesco a trovare niente...


Dipende dal tuo sistema operativo.
Che sistema opeartivo usi?


ah... credevo fosse una cosa indipendente dal sistema operativo
io uso linux
ho trovato in rete qualcosa riguardio all'indirizzo 0x000B8000 da cui
partirebbe la zona di memoria, ma se faccio una cosa tipo
char *c;
c = (char *)0x000B8000;
*c = '*'
vado in Segmentation Fault
----
ho in parte risolto usando una stringa di 80 x 25 caratteri
ci scrivo su quello che mi interessa, e poi la butto a video tutta
intera con "write(1, stringa, 80 * 25)"
piu' o meno funziona...

 puntatore in giro per la RAM" :-)
Mi sbilancio con un "per fortuna".
-- 
-riko
Newsgroup: it.comp.lang.c
Titolo: Inserimento Password

Salve questo e' il mio primo messaggio su questo newsgroup, spero di essere
utile a qualcuno e non di essere soltanto un peso per voi.
DEVO fare una funzione per far inserire all'utente la password, il problema
e' che uso gcc come compilatore e a quanto sembra non mette a disposizione
una funzione tipo getch() di Turbo C, come faccio a evitare che i tasti
premuti siano visualizzati sullo schermo?!
PS : Qualcuno conosce un IDE per Linux che pero' giri in shell? qualcosa
tipo Turbo C per intenderci . . . magari qualcosa che usi gcc come
compilatore . . insomma avete capito!
Grazie per l'aiuto, a presto
Xoen.


I'm not prejudiced, I hate everyone equally.

 premuti siano visualizzati sullo schermo?!
man 3 getpass
Newsgroup: it.comp.lang.c
Titolo: lettura file direttamente da disco

Ciao a tutti, sono nuovo (nuovissimo) del C e avevo intenzione di riscrivere
un programma che ho qui in Perl usando C.
Il programma legge dei dati da un enorme file e non carica tutto in memoria,
piuttosto vede il file come un array in cui ad ogni elemento corrisponde una
riga. In questo modo posso accedere al file, riga per riga, usando il numero
di riga come indice dell'array. In C si puó fare una roba del genere?
Questa esigenza nasce dal fatto che il file é diviso in sezioni in cui ci
sono coppie di numeri da leggere, in questo modo
##headers della sezione
##sono tanti ma sono sempre gli stessi
x1 y1
x2 y2
.....
#headers della sezione successiva
x1 y1
x2 y2
x3 y3
...
e quindi sapendo il numero di riga in cui ogni sezione comincia e finisce,
so dove cercare le coppie di numeri che mi interessano.
Grazie, spero di essere stato chiaro.
dawe
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 finisce, so dove cercare le coppie di numeri che mi interessano.
Mi sa che dovrai arrangiarti con i vari fseek e ftell (anche se sui file
di testo, c'è qualche problema, come si legge in qualche post
precedente).
Ciao,
-- 
+--------+ | ASCII ribbon campaign ( ) | 
www.autistici.org/kral
|  kral  | |  - against HTML email  X  |
+--------+ |              & vCards / \ | my gpg id = 0x7C946947

 sono coppie di numeri da leggere, in questo modo
Se ho interpretato bene,
ti devi scandire il file enorme una volta per tutte,
senza caricarlo tutto in memoria,
ma leggendolo riga per riga
e segnarti (in un file da rileggere poi o in memoria)
in quale carattere a partire dall'inizio del file
comincia ogni riga.
Dopo di che, se ti serve una certa riga puoi saltare
nel file enorme al punto che ti serve.
Le funzioni che ti possono servire sono
fgets, fseek, ftell, fgetpos, fsetpos,
che ti invito a studiare.
Stai anche attento alla distinzione tra file binari e di testo
se stai usando windows.
ciao,g

 Non credo che il C std abbia qualcosa di simile al Tie::File...
Mannaggia!
D'accordo mi arrangio con tutte le funzioni che mi avete consigliato!

Newsgroup: it.comp.lang.c
Titolo: Chiamare da un programma altri programmi

Sto traducendo un programma dal basic al C e devo chiamare da un modulo
eseguibile un altro modulo e, poi, una volta terminato devo richiamare il
modulo precedente.
Come posso farlo in C?
Mi conviene mantenere questo sistema a moduli o compilare un unico
Programma?
Saluti
-- 
Angelo M. Figundio
ang...@figundio.it
www.figundio.it
***********************************************
E il mio signore lo sa
una sola volta non basterà
che l'avvoltoio divori il mio corpo
per far tacere per sempre il mio cuore
(A. Branduardi)
*******************************************

 Come posso farlo in C?
Non ho capito esattamente cosa vuoi fare. Se vuoi chiamare un programma 
eseguibile esterno, puoi usare system (in <stdlib.h>).

 ha scritto nel messaggio
news:408A3925...@lombardiacom.it...


 Se volessi usare system, come dovrebbe ressere la chiamata?
int retVal = system("nomeDelProgramma e di tutti i suoi argomenti");
Ocio che la system esegue il programma attraverso l'interprete di
comandi del S.O. e comunica con il chiamante solo attraverso il
valore di ritorno (che in molti casi puo' essere pochino).
Potrebbe valere la pena dare un'occhiata alle funzione della famiglia
exec, il difetto di queste e' che non sono standard.
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c
Titolo: e il copyright?

Come e' andata a finire la storia dei brevetti sul software?
Qualcuno ne sa qualcosa?
Marco

 wrote in message
7o297t$bu4$1...@nslave1.tin.it...


altro discorso ....
Probabilmente e' proprio quello che dicevo prima.
La tua perplessita' (che ne sai sicuramente piu' di me) mi allarma: siccome
il brevetto viene rilasciato da persone, che non possono conoscere tutto
dell'informatica, e' possibile che a qualcuno venga fatto passare il
brevetto per l'architettura di Von Neumann. Poi chi glielo dice a Intel?
Marco

 
Personalmente sono in totale disaccordo sul tuo modo di interpretare la
cosa (che riassumerei con 'anche se la legge passa, poco male'). Secondo me
sarebbe un fatto estremamente dannoso; ma non vorrei proseguire oltre
con discussioni sulla filosofia del diritto. Piuttosto vorrei chiederti
se si possono trovare on-line delle informazioni chiare (possibilmente
i testi delle leggi o norme varie) sulla normativa esistente, visto che 
nessuno sembra conoscere ne' la normativa che regola l'argomento 
ne' tantomeno siti che la riportino.
 
Marco Guidi
 
 




 wrote in message ONAH9RQ8wXlA@sssup1...


 
Grazie, sopratutto per il riferimento preciso all'articolo.
Marco Guidi
 

 trascorsi i canonici 20 anni di durata del brevetto).
Ma un programmatore come potrebbe avere tutte queste informazioni? So
che la legge non ammette ignoranza ma mi sembra assurdo doversi studiare
tutti i brevetti degli ultimi venti anni prima di scrivere due righe di
codice su questo newsgroup. :-)
EMG

documentazione volta a revocare il brevetto concesso.
Come prima, non e' una buona cosa.
Ossia: invento il modo per conquistare tutte le donne, lo applico su scala
industriale (dunque e' brevettabile) e inizio, giulivo giulivo, a sfruttare
industrialmente questa mia idea.
In questo frattempo investo risorse per impiantare una nuova attivita',
assumo dipendenti, mi ingrandisco e passa del tempo.
Dopo un po' qualcuno pero' se ne esce che il suo brevetto sullo stesso
metodo e' precedente al mio. Allora sono anni che infrango il suo brevetto!
E quanti danni devo pagare?
Scherzi a parte, se non si ha la sicurezza di non brevettare qualcosa che
sia gia' stato brevettato (o che possa essere confutato a breve) potrebbe
essere uno strumento molto pericoloso. Cioe' si aggiunge incertezza a
incertezza.
Conclusione: non mi sembra una buona idea brevettare gli algoritmi.
Marco

Newsgroup: it.comp.lang.c
Titolo: domandina circa strcpy()

Ma il prototipo di strcpy() è:
char *strcpy(char *, char *);
oppure:
char *strcpy(char *, const char *);
????????
Ciao e grazie


La seconda.
EMG

 Ma il prototipo di strcpy() è:
[root@fokhouse /root]# man strcpy | col -b | grep -A3 ^SYN
SYNOPSIS
       #include <string.h>
       char *strcpy(char *dest, const char *src);
[root@fokhouse /root]#
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)
Newsgroup: it.comp.lang.c
Titolo: type casting

Salve ALL! :)
Da buon dummie, sto studiando i sorgenti altrui, ad esempio
ftp://ftp.openbsd.org/pub/OpenBSD/distfiles/cidr-current.tar.gz
Alla riga 82 di cidr.c si legge
  ip[i]=(char *)NULL;
Io immagino che si vogliano "azzerare" gli elementi del vettore ip,
precedentemente definito come char *ip[3].
Vedo che compilando con ip[i]=NULL; non si ottengono errori o
segnalazioni di sorta neanche compilando con -Wall -pedantic
-ansi... quindi penso che il modo di scrivere di cui sopra sia una
"questione di stile".
E' così? Mi sfugge qualcosa? 
Altro fatto. Se non ho mal compreso le poche pagine di C che ho letto, è
sempre bene -quando possibile- preferire
int c=3;
a 
int c;
c=3;
E' vero questo? In caso positivo, il blocco di righe 88-102 potrebbe
essere eliminato modificando in maniera opportuna il blocco 58-72?
       grazie dell'attenzione :)
-- 
GHERdO, You Will Be Assimilated. You Love Gnus.

 "questione di stile".
Piu' che altro di "versione" dello standard... dal C89 in poi i void
pointers sono convertiti automaticamente a qualunque tipo.
Non dovresti farlo dal C89 in poi, perche' uccidi uno dei pochi controlli
sul tipo che fa' il C.
Non e' un errore pero', perche' tu sei libero di usare il Cast anche dove
non serve (come in questo caso).
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

 scriveva: 
 >> Alla riga 82 di cidr.c si legge
 >> 
 >> ip[i]=(char *)NULL;
 >> 
 >> Io immagino che si vogliano "azzerare" gli elementi del vettore ip,
 >> precedentemente definito come char *ip[3].
 M> Se i e' un ciclo che va' da 0 alla dimensione di ip -1 si :)
Beh, certo =:)
 >> "questione di stile".
 M> Piu' che altro di "versione" dello standard... dal C89 in poi i void
 M> pointers sono convertiti automaticamente a qualunque tipo.  Non
 M> dovresti farlo dal C89 in poi, perche' uccidi uno dei pochi
 M> controlli sul tipo che fa' il C.  Non e' un errore pero', perche' tu
 M> sei libero di usare il Cast anche dove non serve (come in questo
 M> caso).
Ho capito: devo studiare ancora una montagna :) Grazie.


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

Salve a tutti!
Ho messo socket.h nella directory dell'include del mio compiler Borland c++
3 x dos
ma non funge!
da cosa puo dipendere? GRAZIE.
ps: ci sono le faq sul c in questo canale?
ciao

da cosa puo dipendere? GRAZIE.
L'header si chiama "winsock.h" perche' lavori sotto win...
...ma cmq non ti funziona lo stesso perche il C++ 3 non supporta
questa libreria.
Ti conviene scaricare il Borland 5.5 free sul sito della Borland.
ciao
Bun]{er
-> Home: 
http://bunkersite.cjb.net
-> E-mail: scorp...@NOSPAMtin.it
Newsgroup: it.comp.lang.c
Titolo: Confronto di stringhe uguali

Salve!
Ho un piccolo problema:
devo confrontare due stringhe e se risultano diverse devo fare in modo
che la stringa2 diventi uguale alla stringa1 usando il metodo più veloce possibile,
per semplificare il problema ho deciso di usare la funzione strcpy():
char *string1 = "prova";
char *string2 = "prova";
if  (strcmp(string1,string2) != 0) {        /* se le stringhe sono diverse */
     strcpy(string2,string1);                   /* le faccio diventare uguali */
}
Volevo chiedere se il metodo di confronto+copia che ho riportato qui sopra era
più lento o più veloce del metodo di copiare semplicemente la string1 sulla string2 senza fare il confronto, oppure, se siete a
conoscenza di un metodo migliore.
grazie a tutti
e saluti
Davide

 senza  fare il confronto
Penso che dipenda dalla probabilità che le due stringhe siano uguali.
Per il confronto forse ti conviene fare un ciclo di while, cosi' eviti la
chiamata alla funzione.


http://www.kyuzz.org/antirez
finger 
ant...@tella.alicom.com
 for PGP key
28 52 F5 4A 49 65 34 29 - 1D 1B F6 DA 24 C7 12 BF

}
A parte il fatto che, in questo caso specifico, non e' detto
tu possa modificare il contenuto di string2, bisogna anche
vedere se la memoria puntata da string2 sia abbastanza
grande da contenere i dati puntati da string1.
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]

 grande da contenere i dati puntati da string1.
Scusami per l'esempio banale che ho postato, hai perfettamente ragione,
era solo per spiegarvi nel modo più semplice il mio problema.
Prima di fare il confronto le stringhe vengono allocate con una dimensione
che permetta di contenere la stringa piu' grande.
Ciao.
Davide.

 ho commesso un errore di copia e incolla...
scusami!!
Ciao

Newsgroup: it.comp.lang.c
Titolo: sb16 e blit

Salve, ho scritto una routine per l' esecuzione di suoni per sb16, in
moalita' reale e' perfetta, mentre dalla schell del dos di windows (in
modalita' V86) ad ogni interrupt della scheda si avverte un 'blit' che
sporca l' audio. Qualcuno che abbia avuto lo stesso problema e che lo abbia
risolto?
Simone Tromboni 
squa...@tin.it

Un bel di' Simone Tromboni scrisse:
ST> Salve, ho scritto una routine per l' esecuzione di suoni per sb16, in
ST> moalita' reale e' perfetta, mentre dalla schell del dos di windows (in
ST> modalita' V86) ad ogni interrupt della scheda si avverte un 'blit' che
ST> sporca l' audio. Qualcuno che abbia avuto lo stesso problema e che lo abbia
ST> risolto?
ST> 
hai provato a modificare il collegamento del Prompt, e selezionare: "Impedisci
ai programmi di rilevare Windows"??
Non ti assicuro niente, comunque, anzi!! :-)
ciao!
-- 
"Il mal di denti tende a cominciare di venerdi' sera", legge di Johnson e
Laird
-- 
Emanuele Cesena
ami...@iol.it
 :)	Occhio all'antispammer NOSPAZ!!
http://www.geocities.com/SiliconValley/Grid/8879