Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 31-01-2008, 22:21   #1
Bi0
Member
 
L'Avatar di Bi0
 
Iscritto dal: Aug 2004
Città: Modena
Messaggi: 96
[C] Acquisizione di stringhe...

Vi posto un programmino semplice che ho realizzato per concatenare due stringhe...

Codice:
#include <stdio.h>
#define max_ele 1000

/* Programma con Funzione void unisci() che concatena due stringhe */

void unisci(char s1[], char s2[]){
     int i, j;
     
     for(i=strlen(s1), j=0; s2[j]!='\0'; i++, j++)
        s1[i]=s2[j];
        
     s1[i]='\0';
     }
          
     
void main(){
     char v1[max_ele];
     char v2[max_ele];
     int k;
     
     printf("\nInserisci la 1a stringa: ");
     
     /* fflush(stdin);
     scanf("%[^\n]", &v1); */
     
     for(k=0; (v1[k]=getchar())!='\n'; k++) ; 
     
     printf("\nInserisci la 2a stringa: ");
     
     /* fflush(stdin);
     scanf("%[^\n]", &v2); */
     
     for(k=0; (v2[k]=getchar())!='\n'; k++) ;
     
     unisci(v1, v2);
     
     printf("\nLa stringa risultante e': %s", v1);

     
     getch();
     }

Ecco, il problema è che il programma, se non acquisisco le stringhe come ho fatto nel commento, cioè

Codice:
  
     /* fflush(stdin);
     scanf("%[^\n]", &v1); */
Il programma non funziona correttamente...


Eppure la soluzione col for, l'avevo trovata sul libro di testo che abbiamo in dotazione... Qualcuno mi saprebbe spiegare il perché?
__________________
Webmaster a tempo perso
Bi0 è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2008, 22:52   #2
Mirkolo
Senior Member
 
L'Avatar di Mirkolo
 
Iscritto dal: Sep 2007
Messaggi: 329
In C le stringhe terminano con uno 0 e facendo l'acquisizione in quel modo lo zero non viene inserito:

for(k=0; (v1[k]=getchar())!='\n'; k++) ;
v1[k] = 0;

prova così. Ciao
Mirkolo è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2008, 09:50   #3
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7262
Quote:
Originariamente inviato da Mirkolo Guarda i messaggi
In C le stringhe terminano con uno 0 e facendo l'acquisizione in quel modo lo zero non viene inserito:

for(k=0; (v1[k]=getchar())!='\n'; k++) ;
v1[k] = 0;

prova così. Ciao
io userei v1[k] = '\0';
è la stessa cosa, ma visto che è definito come "carattere terminatore" mi sembra più comprensibile
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2008, 12:40   #4
Bi0
Member
 
L'Avatar di Bi0
 
Iscritto dal: Aug 2004
Città: Modena
Messaggi: 96
Grazie
Effettivamente per un attimo ci avevo pensato, poi il sonno mi aveva cancellato quell'idea dalla testa

Ma secondo voi, dei due qual è il miglior metodo di acquisizione?

Cmq grazie mille delle risposte
__________________
Webmaster a tempo perso
Bi0 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Secondo Elon Musk FSD è più...
Anche Cloudflare fissa il 2029 per la si...
Hacker sfruttano da mesi un bug segreto ...
ASUSTOR Lockerstor 24R Pro Gen2: 24 bay ...
Rigetti supera la soglia dei 100 qubit: ...
eFootball raggiunge il miliardo di downl...
Come provare OpenClaw facilmente grazie ...
Microsoft conferma: questo glitch dell'o...
Toyota bZ7: una berlina da oltre 5 metri...
Artemis II, le prime foto del lato nasco...
Sempre più pubblicità su YouTube: arriva...
Polestar fa +80% in Italia e tocca quota...
Il tuo Mac smette di connettersi a Inter...
La nuova alleanza Intel-Google ridefinis...
Energia troppo cara, regole da rivedere:...
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: 18:15.


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