Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
Un proiettore economico, che fa della portabilità e immediatezza i suoi punti di forza. Adatto per una camera da letto o per la casa vacanze, è basato su sistema proprietario Linux ma offre piena compatibilità ufficiale a Netflix
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
Un notebook sviluppato in collaborazione con GoPro ma che risponde al meglio alle necessità di tutti coloro che creano contenuti video: robustezza, design, potenza di calcolo e funzionalità si abbinano al meglio tra di loro, pur se a prezzo di un costo elevato per via della tanta memoria onboard
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-05-2007, 15:13   #1
Ayako
Junior Member
 
Iscritto dal: May 2007
Messaggi: 4
Map

Buongiorno a tutti,
sto usando la struttura map del C++ del tipo
map<char*,int>mapPippo
il char che farebbe da chiave viene letto da un file esterno e messo in un char chiamato pippo.

Ora siccome di chiavi sul file ce ne è più di una, ma a priori non so quante saranno, il caricamento della mappa è dentro un while del tipo
char pippo[4];
while(!f1.eof()){
for(int i=1;i<4;i++){
pippo[i]=f1.get();
}
mapPippo[pippo] = index++;

}

Il punto è che per essere una chiave di una mappa, la memoria dedicata a pippo deve essere nuova tutte le volte, perchè così com'è, passandogli un puntatore, scrivo nella stessa zona e ottengo solo l'ultimo elemento all'interno della mappa. Come posso fare. Spero di essere stata chiara.

Grazie Ayako
Ayako è offline   Rispondi citando il messaggio o parte di esso
Old 08-05-2007, 15:33   #2
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
Direi che sarebbe meglio usare una string...

map<string, int> mapPippo;

string pippo;
while(!f1.eof()){
for(int i=1;i<4;i++){
pippo.append(1, f1.get());
}
mapPippo[pippo] = index++;

}
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-05-2007, 15:51   #3
Ayako
Junior Member
 
Iscritto dal: May 2007
Messaggi: 4
:)

grazie, provo subito
Ayako è offline   Rispondi citando il messaggio o parte di esso
Old 08-05-2007, 16:01   #4
Ayako
Junior Member
 
Iscritto dal: May 2007
Messaggi: 4
No

il problema sta nel fatto che pippo è sempre la stessa zona di memoria per n chiavi e quindi la mappa non si riempie ma scrive solo ciò che legge nell'ultima chiave.

Cioè se io riempissi la mia mapPippo
come mapPippo["Pluto"]=1;
mapPippo["Paperino"]=2;
mapPippo["minni"]=3;
avrei 3 differenti zone di memoria: quella allocata da pluto, quella di paperino e quella di minni.

Nel mio caso, non sapendo a priori quanti elementi avrò, come faccio ad "istanziare" n elementi da passare alla mappa?
Ayako è offline   Rispondi citando il messaggio o parte di esso
Old 08-05-2007, 16:04   #5
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
Con la string non hai di questi problemi perchè viene passata per copia...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-05-2007, 16:39   #6
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
Guarda questo:
Codice:
#include <iostream>
#include <string>
#include <map>

using namespace std;

int main()
{
	map <string, int> m;
	string pippo;

	pippo = "uno";
	m[pippo] = 1;
	
	pippo = "due";
	m[pippo] = 2;
	
	pippo = "tre";
	m[pippo] = 3;

	cout << "Num = " << m.size() << endl;
	cout << "uno = " << m["uno"] << endl;
	cout << "due = " << m["due"] << endl;
	cout << "tre = " << m["tre"] << endl;	
}
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix HONOR CHOICE Projector Air Pro: piccolo, portati...
ASUS ProArt GoPro Edition è il notebook compatto per chi crea ASUS ProArt GoPro Edition è il notebook c...
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Apple sfonda la barriera dei 5.000 milia...
Samsung conferma ufficialmente l'arrivo ...
Qualcomm fornirà le piattaforme Snapdrag...
Osmo Pocket 4P: sensore da 1 pollice e t...
Chip a 2 nanometri, Qualcomm potrebbe av...
XBOX sarà alla Gamescom 2026 con ...
Galaxy Z Fold 8 convince: tante richiest...
Il volo più lungo della storia è realtà:...
Google lancia Lyria 3.5: voci più natura...
Wuchang avrà un sequel: il creato...
Cassazione e smartphone: la conformit&ag...
Il chip più grande mai concepito?...
Microsoft perderebbe circa 150 dollari p...
Al via le spedizioni di HDD da oltre 50 ...
'Smettetela di uccidere internet': depos...
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: 13:31.


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