Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-05-2008, 17:05   #1
sunset_88
Junior Member
 
Iscritto dal: May 2008
Messaggi: 5
[C++] stringhe senza la dimensione massima

potreste spiegarmi in maniera elementare come creare stringhe senza inserire la dimensione massima con c++? se on ho capito male devo usare malloc cosa che ovviamente non so fare..
dovrei usare un espressione simile?

char *strin;
register int i; /*se puo' memorizza in un registro la variabile i*/
strin = (char *) malloc(80 * sizeof ( char )*dim);
scanf("%s",stringa);

e poi nelle parentesi quadre delle stringhe che scrivo? le lascio vuote?
sunset_88 è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2008, 17:07   #2
wizard1993
Senior Member
 
L'Avatar di wizard1993
 
Iscritto dal: Apr 2006
Messaggi: 22462
ma usare la libreria string?
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza
wizard1993 è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2008, 17:09   #3
sunset_88
Junior Member
 
Iscritto dal: May 2008
Messaggi: 5
scusami ma non ho scritto bene ora???
sunset_88 è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2008, 17:11   #4
wizard1993
Senior Member
 
L'Avatar di wizard1993
 
Iscritto dal: Apr 2006
Messaggi: 22462
Quote:
Originariamente inviato da sunset_88 Guarda i messaggi
scusami ma non ho scritto bene ora???
, sicuro di non aver visto fischi per fiaschi?
apparte quello, ti ripeto che è meglio usare la libreria string, che ha semplicificato tantissimo la vita per la gestione delle stringhe
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza
wizard1993 è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2008, 17:44   #5
sunset_88
Junior Member
 
Iscritto dal: May 2008
Messaggi: 5
allora vorrei unire questo programma

#include <stdio.h>
#include <string.h>
#include<stdlib.h>
main()
{
char **array, *string, c;
int num, lungh, i, j;
for (i=0; i<num; i++){
printf("inserisci la lunghezza della stringa: ");
scanf("%d", &lungh);
getchar();
if (lungh==0){
break;
}
string=(char *)malloc((lungh+1)*sizeof(char));
array[i]=(char *)malloc((lungh+1)*sizeof(char));
j=0;
while((c=getchar())!='\n'){
if(j<lungh){
string[j]=c;
//*(array[j])=c;
j++;
}
}
//*(array[j])=' 0';
string[j]=' 0';
//strcpy(array[i], string);
printf("%s \n", string);
//printf("%s \n", *array);
array++;
}
}



a questo programma facendo magari diventare quello di sopra un sottoprogramma..

//inclusione librerie
#include<iostream.h>
//dichiarazione funzione scambio(sottoprogramma)
void scambio(char s[10],char t[10]);
main()
{
//dichiarazione della stringa(una stringa è un insieme di caratteri)
//si dichiara come un vettore di caratteri cioè char(carttere) nomevariabile
//e tra []la lunghezza massima(in questo caso 30)
char s[30],t[30];
//lettura due stringhe
cout<<"Inserire stringa 1:";
cin>>s;
cout<<"Inserire stringa 2:";
cin>>t;
//richiamo della funzione scambio passando come parametri le due stringhe
scambio(s,t);
return(0);
}
//funzione scambio
void scambio(char s[30],char t[30])
{
//dichiarazione variabili
//app è la stringa di appoggio per scambiare i valori
int i;
char app[30];
//ciclo for che va da 1 a 30(lunghezza massima stringa)
for(i=0;i<=30;i++)
{
//si scambiano i valori delle stringhe
app[i]=s[i];
s[i]=t[i];
t[i]=app[i];
}
//facciamo uscire a video le due stringhe invertite
cout<<"Stringa 1 : "<<s<<endl;
cout<<"Stringa 2 : "<<t<<endl;
}

ho provato a mettere al posto di 30 lungh ma purtroppo mi da errore..
mi sto esaurendo!!!
mi aiutate??
sunset_88 è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2008, 18:00   #6
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Che senso ha fare un simile miscuglio di C e C++?

Perché non usi gli strumenti che il C++ ti mette a disposizione?!
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2008, 19:38   #7
sunset_88
Junior Member
 
Iscritto dal: May 2008
Messaggi: 5
perchè non ho idea di quali siano!!
sunset_88 è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2008, 22:14   #8
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
ti è già stato detto nell'altro thread, è inutile che continui a chiedere la stessa cosa senza leggere le innumerevoli risposte (tutte identiche). devi usare std::string.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2008, 13:56   #9
marko.fatto
Senior Member
 
L'Avatar di marko.fatto
 
Iscritto dal: Jul 2007
Messaggi: 499
Quote:
Originariamente inviato da 71104 Guarda i messaggi
ti è già stato detto nell'altro thread, è inutile che continui a chiedere la stessa cosa senza leggere le innumerevoli risposte (tutte identiche). devi usare std::string.
hanno comunque una dimensione massima ma credo ti basti
__________________
marko.fatto è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2008, 14:17   #10
khelidan1980
Senior Member
 
L'Avatar di khelidan1980
 
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
Quote:
Originariamente inviato da sunset_88 Guarda i messaggi
perchè non ho idea di quali siano!!
vuoi programmare in C++ senza conoscer il C++?
__________________
Khelidan
khelidan1980 è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2008, 14:30   #11
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
perchè non ho idea di quali siano!!
Qualsiasi testo sul C++ tratta l'uso delle stringhe (std::string). Stai studiando su un libro e non vai a casaccio, vero?
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2008, 15:09   #12
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da variabilepippo Guarda i messaggi
Qualsiasi testo sul C++ tratta l'uso delle stringhe (std::string). Stai studiando su un libro e non vai a casaccio, vero?
macché libro, starà studiando su una schifezza di micragnosissimo tutorial vecchio di 15 anni e scritto da chissà quale incompetente che consiglia l'uso del gcc su Linux e di Dev-C++ su Windows

non so perché ma fanno tutti così -.-
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2008, 15:28   #13
khelidan1980
Senior Member
 
L'Avatar di khelidan1980
 
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
Quote:
Originariamente inviato da 71104 Guarda i messaggi
macché libro, starà studiando su una schifezza di micragnosissimo tutorial vecchio di 15 anni e scritto da chissà quale incompetente che consiglia l'uso del gcc su Linux e di Dev-C++ su Windows

non so perché ma fanno tutti così -.-
Scusa e cosa dovresti usare su Linux?Non c'è molta scelta
__________________
Khelidan
khelidan1980 è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2008, 16:09   #14
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da khelidan1980 Guarda i messaggi
Scusa e cosa dovresti usare su Linux?Non c'è molta scelta
a parte che magari non sarebbe male consigliare un IDE anziché un compilatore, comunque ovvio che su Linux si usa il gcc; volevo dire che ho visto certa gente (non solo autori di nauseanti tutorials, anche professori universitari, e più di uno ) che dopo aver (giustamente) detto di usare gcc su Linux poi arriva il turno di Windows e ti rifilano quella cagata di Dev-C++.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2008, 21:09   #15
Albi89
Senior Member
 
Iscritto dal: May 2004
Città: Napoli
Messaggi: 773
Quote:
Originariamente inviato da 71104 Guarda i messaggi
a parte che magari non sarebbe male consigliare un IDE anziché un compilatore, comunque ovvio che su Linux si usa il gcc; volevo dire che ho visto certa gente (non solo autori di nauseanti tutorials, anche professori universitari, e più di uno ) che dopo aver (giustamente) detto di usare gcc su Linux poi arriva il turno di Windows e ti rifilano quella cagata di Dev-C++.
C'è un peccato dietro al peccato, nel caso dei prof universitari: vogliono far usare il gcc (o nel nostro caso mingw) perchè segue piuttosto pedissequamente lo standard e sarà utile ai ragazzi averci "socializzato" quando studieranno sistemi operativi.
Sotto windows l'unico ide in italiano che supporta il gcc è proprio il pestifero Dev C++.
Di solito i prof hanno paura che consigliando un programma in inglese si rischi di "rallentare" i ragazzi.
Qualche prof ha provato anche a consigliare Eclipse ma quando ha visto che dopo 2 mesi di corso quasi tutti ancora non erano riusciti a trovare la pagina del mingw per installarlo, si è arreso.
Snobbatissimi invece codeblocks e i tools express della microsoft.
__________________
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.
--Gerald Weinberg
Albi89 è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2008, 03:20   #16
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da 71104 Guarda i messaggi
comunque ovvio che su Linux si usa il gcc;
Mica tanto, ci sono anche altri compilatori, prendi quello Intel ad esempio...

__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2008, 12:20   #17
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
Mica tanto, ci sono anche altri compilatori, prendi quello Intel ad esempio...
Certo, per Linux c'è anche TinyC...

Codice:
Compilation speed for the Links Browser project. There are 76936 lines (including headers). 1950947 lines (67.2 MBytes) are compiled because the same headers are included in many files. TinyCC is about 9 times faster than GCC.

Compiler	Time(s)	lines/second	MBytes/second
TinyCC 0.9.22 	2.27 	859000 	29.6
GCC 3.2 -O0 	20.0 	98000 	3.4
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2008, 14:21   #18
xblitz
Senior Member
 
L'Avatar di xblitz
 
Iscritto dal: Mar 2007
Messaggi: 384
Quote:
Originariamente inviato da Albi89 Guarda i messaggi
C'è un peccato dietro al peccato, nel caso dei prof universitari: vogliono far usare il gcc (o nel nostro caso mingw) perchè segue piuttosto pedissequamente lo standard e sarà utile ai ragazzi averci "socializzato" quando studieranno sistemi operativi.
Sotto windows l'unico ide in italiano che supporta il gcc è proprio il pestifero Dev C++.
Di solito i prof hanno paura che consigliando un programma in inglese si rischi di "rallentare" i ragazzi.
Qualche prof ha provato anche a consigliare Eclipse ma quando ha visto che dopo 2 mesi di corso quasi tutti ancora non erano riusciti a trovare la pagina del mingw per installarlo, si è arreso.
Snobbatissimi invece codeblocks e i tools express della microsoft.

non facendo l'università non so che aria tira li però C::B mi sembra una scelta abbastanza azzeccata per cominciare, anche sotto linux.

Per quanto riguarda l'inglese invece rimango basito, voglio dire... nelle facoltà informatiche un minimo di inglese mi sembra un prerequisito quindi il linguaggio dell'ide non dovrebbe fare differenza.
Nelle facoltà di informatica un minimo di inglese mi sembra sia indispensabile... fossi stato io il prof. me ne sarei sbattuto altamente.

ciao!
xblitz è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2008, 15:42   #19
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da variabilepippo Guarda i messaggi
Certo, per Linux c'è anche TinyC...
Verissimo! Fabrice Bellard è un grande.

Comunque sul discorso di Code::Blocks e dell'inglese concordo pienamente, meglio lasciar perdere Dev-C++ (ok, per i primi due mesi può andar bene, ma poi è meglio gettarlo alle ortiche). Code::Blocks è già un'IDE più serio, almeno ci si abitua ad un ambiente più adatto alla gestione di grossi progetti.
Per quanto riguarda l'inglese, tutti (almeno i professori che ho incontrato io) quelli che ci hanno fatto dei corsi di programmazione ci hanno detto praticamente dalla prima lezione "imparate bene l'inglese: tutti i testi specializzati li troverete in quella lingua", di fatto costringendoci ad impararlo (diverse dispense erano solo in inglese). Il che secondo me è positivo.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2008, 17:03   #20
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da variabilepippo Guarda i messaggi
Certo, per Linux c'è anche TinyC...

Codice:
Compilation speed for the Links Browser project. There are 76936 lines (including headers). 1950947 lines (67.2 MBytes) are compiled because the same headers are included in many files. TinyCC is about 9 times faster than GCC.

Compiler	Time(s)	lines/second	MBytes/second
TinyCC 0.9.22 	2.27 	859000 	29.6
GCC 3.2 -O0 	20.0 	98000 	3.4
Che pero' e' un compilatore C, non C++ ...
Alternative che conosco io sono Tendra (che pero' non so in che condizioni sia, visto che non troppo tempo fa non era completamente usabile), e llvm-gcc llvm-gcc, ovvero frontend preso da gcc e backend LLVM (e' nei piani anche un frontend diverso)
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
I veicoli elettrici emettono radiazioni ...
Stai per acquistare una PS5? Attento al ...
iPhone 17 Pro Max finalmente disponibile...
Apple, Sony, Bose, Beats, Sennheiser, CM...
Arriva il Raspberry Pi 5 da 1 GB, ma por...
Draghi scuote l'Europa: 'rischio stagnaz...
NVIDIA ha comprato azioni Synopsys per 2...
BYD domina il mercato NEV cinese: nessun...
Hong Kong sempre più aperta alle ...
E-Bike e Cyber Monday, non si scherza: s...
Un supervulcano potrebbe cambiare il fut...
Questa scheda video cinese non ha una GP...
Com'è fatto il cloud... di person...
Windows 11, l'icona per la password non ...
Stabilimento Beko di Siena: fine delle a...
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: 16:55.


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