|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
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? |
|
|
|
|
|
#2 |
|
Senior Member
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 |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: May 2008
Messaggi: 5
|
scusami ma non ho scritto bene ora???
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
, 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 |
|
|
|
|
|
#5 |
|
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?? |
|
|
|
|
|
#6 |
|
Senior Member
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?! |
|
|
|
|
|
#7 |
|
Junior Member
Iscritto dal: May 2008
Messaggi: 5
|
perchè non ho idea di quali siano!!
|
|
|
|
|
|
#8 |
|
Bannato
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.
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 499
|
Quote:
__________________
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
|
vuoi programmare in C++ senza conoscer il C++?
__________________
Khelidan |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
|
|
|
|
|
|
|
#12 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
non so perché ma fanno tutti così -.- |
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
|
Scusa e cosa dovresti usare su Linux?Non c'è molta scelta
__________________
Khelidan |
|
|
|
|
|
#14 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: May 2004
Città: Napoli
Messaggi: 773
|
Quote:
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 |
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
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! |
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
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 |
|
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 384
|
Quote:
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! |
|
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
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! |
|
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
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 |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:17.












, sicuro di non aver visto fischi per fiaschi?








