Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
WF-1000X M6 è la sesta generazione di auricolare in-ear sviluppata da Sony, un prodotto che punta a coniugare facilità di utilizzo con una elevata qualità di riproduzione dei contenuti audio e una cura nella riduzione del rumore ambientale che sia da riferimento
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-08-2005, 17:53   #1
MaxGuevara
Member
 
Iscritto dal: Aug 2005
Messaggi: 86
C e array

Ho un problema con le array,vorrei stampare a video una scritta togliendovi il primo carattere..mi spiego.

char scritta[20];
fscanf(stdin,"%s",scritta);
printf("%s",scritta);

ecco,mettiamo che,eseguito il programma si voglia scrivere:"-ciao sono io".
c'e' un modo per far sì che il carattere "-" non appaia?
grazie e ciao.
MaxGuevara è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2005, 19:06   #2
sari
Senior Member
 
Iscritto dal: May 2005
Città: Verona
Messaggi: 952
Quote:
Originariamente inviato da MaxGuevara
Ho un problema con le array,vorrei stampare a video una scritta togliendovi il primo carattere..mi spiego.

char scritta[20];
fscanf(stdin,"%s",scritta);
printf("%s",scritta);

ecco,mettiamo che,eseguito il programma si voglia scrivere:"-ciao sono io".
c'e' un modo per far sì che il carattere "-" non appaia?
grazie e ciao.
il modo più intuitivo e banale è :

char scritta[20];
char scrittab[19];

fscanf(stdin,"%s",scritta);

for ( x=1; x<=20; x++)
scrittab[x-1]=scritta[x];

printf("%s", scrittab);

Altrimenti :

char scrittab[19];

fscanf(stdin,"%s",scritta);

scrittab = scritta + 1;

printf("%s", scrittab);
sari è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2005, 19:32   #3
GioVesas
Member
 
Iscritto dal: Jun 2004
Città: Pecetto
Messaggi: 73
Più semplicemente
printf("%s",&scritta[1]);
__________________
Gianni
GioVesas è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2005, 19:43   #4
MaxGuevara
Member
 
Iscritto dal: Aug 2005
Messaggi: 86
Grazie per l'aiuto.
MaxGuevara è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2005, 20:38   #5
sari
Senior Member
 
Iscritto dal: May 2005
Città: Verona
Messaggi: 952
Quote:
Originariamente inviato da GioVesas
Più semplicemente
printf("%s",&scritta[1]);
hai ragione... vabe i giri più lunghi fan capire meglio le cose.
sari è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2005, 20:38   #6
VegetaSSJ5
Senior Member
 
L'Avatar di VegetaSSJ5
 
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
Quote:
Originariamente inviato da MaxGuevara
Ho un problema con le array,vorrei stampare a video una scritta togliendovi il primo carattere..mi spiego.

char scritta[20];
fscanf(stdin,"%s",scritta);
printf("%s",scritta);

ecco,mettiamo che,eseguito il programma si voglia scrivere:"-ciao sono io".
c'e' un modo per far sì che il carattere "-" non appaia?
grazie e ciao.
ecco qua:

char scritta[20];
fscanf(stdin,"%s",scritta);
printf("%s", ++scritta);

ricorda che scritta è un puntatore e punta al primo carattere dell'array, quindi per puntare al secondo basta semplicemente incrementarlo.
VegetaSSJ5 è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2005, 01:11   #7
MaxGuevara
Member
 
Iscritto dal: Aug 2005
Messaggi: 86
E,se io faccio strcat con due files:
il primo del tipo "ciao come va?"
e il secondo "-bene grazie".
come farei a togliere dal file finale il carattere "-"?
snippet di esempio ^^:

char str1[20]="bella";
char str2[20]="-zio";
strcat(str1,str2);
printf("%s",str1);


l'output sarebbe:
bella -zio
ora,e' possibile levare quell inestetismo di "-"?
Grazie
MaxGuevara è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2005, 01:26   #8
sari
Senior Member
 
Iscritto dal: May 2005
Città: Verona
Messaggi: 952
Quote:
Originariamente inviato da MaxGuevara
E,se io faccio strcat con due files:
il primo del tipo "ciao come va?"
e il secondo "-bene grazie".
come farei a togliere dal file finale il carattere "-"?
snippet di esempio ^^:

char str1[20]="bella";
char str2[20]="-zio";
strcat(str1,str2);
printf("%s",str1);


l'output sarebbe:
bella -zio
ora,e' possibile levare quell inestetismo di "-"?
Grazie
All'una di notte opererei appoggiandomi ad una seconda stringa.

int i = 0;

char *stringaA[20];
char *stringaB[20];

sprintf(stringaA, "Bella -zio");

for ( x=0; x<=20;x++)
if (stringaA[x] != '-')
{
stringaB[i]=stringaA[x];
i++;
}

stringaB conterrà alla fine "Bella zio"
sari è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2005, 04:12   #9
VegetaSSJ5
Senior Member
 
L'Avatar di VegetaSSJ5
 
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
Quote:
Originariamente inviato da MaxGuevara
E,se io faccio strcat con due files:
il primo del tipo "ciao come va?"
e il secondo "-bene grazie".
come farei a togliere dal file finale il carattere "-"?
snippet di esempio ^^:

char str1[20]="bella";
char str2[20]="-zio";
strcat(str1,str2);
printf("%s",str1);


l'output sarebbe:
bella -zio
ora,e' possibile levare quell inestetismo di "-"?
Grazie
ma allora io cosa ho postato a fare prima? è esattamente la stessa cosa:

char str1[20]="bella";
char str2[20]="-zio";
strcat(str1, ++str2);
printf("%s",str1);
VegetaSSJ5 è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2005, 12:19   #10
sari
Senior Member
 
Iscritto dal: May 2005
Città: Verona
Messaggi: 952
ma lui chiedeva come toglierla dalla stringa finita cioè direttamente da "bella -zio", almeno io questo ho capito.
sari è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2005, 21:16   #11
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da GioVesas
Più semplicemente
printf("%s",&scritta[1]);
Sì, ma occhio ai buffer overflow: se la stringa è vuota, sono guai...
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2005, 22:07   #12
Gica78R
Senior Member
 
L'Avatar di Gica78R
 
Iscritto dal: Mar 2005
Messaggi: 1653
Quote:
Originariamente inviato da VegetaSSJ5
ecco qua:

char scritta[20];
fscanf(stdin,"%s",scritta);
printf("%s", ++scritta);

ricorda che scritta è un puntatore e punta al primo carattere dell'array, quindi per puntare al secondo basta semplicemente incrementarlo.
Ma cosi' pero' c'e' side-effect sul valore di scritta (cioe' l'indirizzo), o no? In generale non e' una buona cosa, imho.
__________________
gica78r@ncc-1701:~$ tar -c
tar: Codardamente mi rifiuto di creare un archivio vuoto
Gica78R è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2005, 22:36   #13
VegetaSSJ5
Senior Member
 
L'Avatar di VegetaSSJ5
 
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
Quote:
Originariamente inviato da Gica78R
Ma cosi' pero' c'e' side-effect sul valore di scritta (cioe' l'indirizzo), o no? In generale non e' una buona cosa, imho.
infatti io non scriverei mai una cosa del genere in un programma. questo è solo per fare un esempio...
VegetaSSJ5 è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2005, 00:33   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da VegetaSSJ5
ecco qua:

char scritta[20];
fscanf(stdin,"%s",scritta);
printf("%s", ++scritta);

ricorda che scritta è un puntatore e punta al primo carattere dell'array, quindi per puntare al secondo basta semplicemente incrementarlo.
Questo è un errore, non puoi incrementarlo...è il riferimento all'inizio di un vettore...

Questo puoi farlo:

char scritta[20];
char *scrittab = scritta;

fscanf(stdin,"%s",scritta);
printf("%s", ++scrittab);
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2005, 00:54   #15
BlueDragon
Senior Member
 
L'Avatar di BlueDragon
 
Iscritto dal: Dec 2002
Messaggi: 418
Quote:
Originariamente inviato da cionci
Questo è un errore, non puoi incrementarlo...è il riferimento all'inizio di un vettore...

Questo puoi farlo:

char scritta[20];
char *scrittab = scritta;

fscanf(stdin,"%s",scritta);
printf("%s", ++scrittab);
Dopo questo ultimo post, non resisto ed aggiungo anche io un altro modo per farlo...

char scritta[20];
fscanf(stdin,"%s",scritta);
printf("%s", scritta+1);

Così non usi variabili d'appoggio e non sposti il vettore..
BlueDragon è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2005, 01:03   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da BlueDragon
Così non usi variabili d'appoggio e non sposti il vettore..
Certo...non volevo risolvere il problema, ma volevo spiegare perchè non andava bene...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2005, 21:24   #17
BlueDragon
Senior Member
 
L'Avatar di BlueDragon
 
Iscritto dal: Dec 2002
Messaggi: 418
Quote:
Originariamente inviato da cionci
Certo...non volevo risolvere il problema, ma volevo spiegare perchè non andava bene...
Oh beh, io ho postato solo perché non resistevo a proporre un'ulteriore soluzione..le mille notazioni del C e l'aritmetica dei puntatori mi divertono troppo
BlueDragon è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2005, 21:45   #18
VegetaSSJ5
Senior Member
 
L'Avatar di VegetaSSJ5
 
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
Quote:
Originariamente inviato da cionci
Questo è un errore, non puoi incrementarlo...è il riferimento all'inizio di un vettore...

Questo puoi farlo:

char scritta[20];
char *scrittab = scritta;

fscanf(stdin,"%s",scritta);
printf("%s", ++scrittab);
scusa cionci ho fatto un errore abbastanza madornale.
VegetaSSJ5 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Sono 32, di cui 6 nuove, le offerte Amaz...
Rinnovo dei coupon Amazon nascosti: ecco...
Corsair aggiorna la confezione delle RAM...
Ecco tutti i robot aspirapolvere in offe...
Tachyum: dal processore universale alle ...
L'eVTOL tedesco per missioni mediche e m...
Zscaler Threat Report 2026: l'adozione d...
Claude AI minaccia omicidi e ricatti qua...
Dentro la gara: a Milano Cortina 2026 i ...
Samsung Display presenta QD-OLED Penta T...
KONAMI torna con "Silent Hill: Town...
Rende il citofono smart a 44,99€: Ring I...
ThunderX3 XTC, la sedia da ufficio che s...
Mercy, Mission Impossible, Aronofsky: il...
Project Windless: il nuovo action in esc...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:16.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v