Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione OPPO Find X9 Ultra: è lui il cameraphone definitivo
Recensione OPPO Find X9 Ultra: è lui il cameraphone definitivo
Find X9 Ultra è lo smartphone che tanti aspettavano, e finalmente è arrivato anche in Italia. Abbiamo provato il flagship di OPPO per diverse settimane, e siamo volati fino in Cina alla sua presentazione ufficiale. Tutto gira intorno al suo incredibile comparto fotografico in collaborazione con Hasselblad e con un totale di sei fotocamere. Il resto è un mix di specifiche di altissimo livello, così come il prezzo. Vi raccontiamo tutto nella nostra recensione completa.
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Il nuovo Deebot X12 OmniCyclone abbina un sistema di raccolta dello sporco senza sacchetto, un rullo di lavaggio esteso e la tecnologia FocusJet per intervenire più efficacemente sulle macchie più persistenti. Un robot completo e preciso che aiuta a tenere puliti i pavimenti di casa con il minimo sforzo
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2 implementa un mocio a nastro che esegue una pulizia dettagliata del pavimento di casa, in abbinamento ad un potente motore di aspirazione della polvere: un prodotto ideale per gestire in autonomia e con grande efficacia le necessità di pulizia dei pavimenti di casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-10-2006, 07:54   #1
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
[c++] strcpy()

faccio cose incredibili e mi perdo per le ca@@ate...


m_strStringa = (char *)malloc (512);
... assegno i char a m_strStringa e poi

char ok[512];
strcpy(ok,m_strStringa[0]);//ERRORE!!

m_strStringa contiene "i caratteri" e per scanzionarli uno ad uno mi serve inserirli nel char ok e poi tramite for leggerli uno ad uno facendo naturalmente strlen(ok);... ma non me lo permette il compilatore...

error C2664: 'strcpy' : cannot convert parameter 2 from 'char' to 'const char *'

oppure devo leggere un carattere alla volta di m_Stringa[0];

...è da ridere eh?

Ultima modifica di okay : 02-10-2006 alle 08:01.
okay è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2006, 08:28   #2
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16214
Quote:
Originariamente inviato da okay
m_strStringa = (char *)malloc (512);
Questo è C, non C++.
Quote:
assegno i char a m_strStringa e poi

char ok[512];
strcpy(ok,m_strStringa[0]);//ERRORE!!
Se m_strStringa è un char*, allora m_strStringa[0] è un char.
Non puoi chiamare strcpy su un char* e un char: devi chiamarla su due char*.

P.S.: Hai la sign irregolare.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2006, 08:34   #3
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
Quote:
Originariamente inviato da Ziosilvio
Questo è C, non C++.

Se m_strStringa è un char*, allora m_strStringa[0] è un char.
Non puoi chiamare strcpy su un char* e un char: devi chiamarla su due char*.

P.S.: Hai la sign irregolare.
char *ok;
strcpy(ok,m_Stringa[0]);

questo è ancora errore...
okay è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2006, 09:27   #4
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
Devi cambiare il secondo parametro, non il primo: cannot convert parameter 2 from 'char' to 'const char *'

strcpy(ok, &m_Stringa[0]);

che è lo stesso di

strcpy(ok, m_Stringa);
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2006, 09:44   #5
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
Quote:
Originariamente inviato da kk3z
Devi cambiare il secondo parametro, non il primo: cannot convert parameter 2 from 'char' to 'const char *'

strcpy(ok, &m_Stringa[0]);

che è lo stesso di

strcpy(ok, m_Stringa);
Esatto... è una cosa che non mi era mai capitata!!

char ok[512];
m_strStringa = (char *)malloc (512);

strcpy(ok, &m_strStringa[0]);

perfetto grazie kk3z

una cosa:
cosa fà di preciso: (char *)malloc (512);
... e se invece usassi l'opratore new. Con l'operatore new otterrei lo stessa cosa di: m_strStringa = (char *)malloc (512); ?
okay è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2006, 10:14   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da okay
e se invece usassi l'opratore new. Con l'operatore new otterrei lo stessa cosa di: m_strStringa = (char *)malloc (512); ?
m_strStringa = new char[512];

dà lo stesso risultato di

m_strStringa = (char *)malloc (512);

L'unica cosa è che poi devi fare un delete m_strStringa; e non usare la free() della libreria "C".
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione OPPO Find X9 Ultra: è lui il cameraphone definitivo Recensione OPPO Find X9 Ultra: è lui il c...
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet Ecovacs Deebot X12 OmniCyclone: lava grazie a Fo...
Narwal Flow 2: la pulizia di casa con un mocio a nastro Narwal Flow 2: la pulizia di casa con un mocio a...
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Stretto di Hormuz, finti funzionari iran...
Dragon Ball Xenoverse 3 annunciato uffic...
WINDTRE BUSINESS potenzia i servizi IoT ...
OPPO rinnova l'ecosistema: arrivano Watc...
OPPO Find X9 Ultra ufficiale: debutta il...
Renault Twingo: esposta a Milano per far...
Intel vuole cambiare: overclocking anche...
Anche PlayStation introduce la verifica ...
Samsung ed Sk hynix, i bonus per gli ope...
Windows 11 velocizza Esplora File: ecco ...
Funzioni nascoste nelle librerie ADLX Ra...
Itala rinasce: lo storico marchio automo...
Huawei Watch Fit 5 e 5 Pro ufficiali: di...
ECOVACS DEEBOT T90 PRO OMNI vs Roborock ...
Fastweb scompare dai partner Starlink Mo...
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: 14:20.


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