PDA

View Full Version : C++, gestione string


Luc@s
21-06-2002, 11:16
Dato che sul mio libro nn c'è scritto come gestirle avrei delle domande da fare:
1. L'haeder è <string>?
2. si dichiarano cosi string variabile;???
3. esistono funz tipo strcat o strlen???
4. devo dargli una dimensione????
5. il terminale \0 è aggiunto automaticamente?????


Tnk in anticipo a chi sapra rispondermi;)

cionci
21-06-2002, 11:47
1) Sì
2) Sì
3) Sì, sono funzioni membro della classe string...length e l'operatore += o la funzione append...
4) Non necessariamente, anzi, solitamente no, ma si può fare anche quello...
5) Sì

Luc@s
21-06-2002, 11:51
Originariamente inviato da cionci
[B]3) Sì, sono funzioni membro della classe string...length e l'operatore += o la funzione append...
4) Non necessariamente, anzi, solitamente no, ma si può fare anche quello...


Vuol dire che nn c'è bisogno di ridimensionarle :eek: :eek: :eek:
E posso saperne la lunhezza con var.lenght????????

P.S: potresti farmi un esempio di codice con le funzioni piu frequenti?????

Luc@s
21-06-2002, 12:35
ho trovato sto cod:

#include <string>
#include <iostream>
using namespace std;
int main() {
string s(10u, ' ');

const char* A = "this is a test";
s += A;
cout << "s = " << (s + '\n');
cout << "As a null-terminated sequence: " << s.c_str() << endl;
cout << "The sixteenth character is " << s[15] << endl;

reverse(s.begin(), s.end());
s.push_back('\n');
cout << s;
}



Come funzia????????

cionci
21-06-2002, 15:47
#include <string>
#include <iostream>
using namespace std;
int main() {
string s(10u, ' '); //fa una stringa di 10 spazi (credo)

const char* A = "this is a test";
s += A; //ci concatena A
cout << "s = " << (s + '\n'); //Concatena lo \n a s
cout << "As a null-terminated sequence: " << s.c_str() << endl; //s.cstr() ritorna una stringa di char
//terminata con \0, in pratica un vettore di char
cout << "The sixteenth character is " << s[15] << endl; //stampa il 16° carattere

reverse(s.begin(), s.end()); //inverte la stringa (fa un'inversione byte a byte)
s.push_back('\n'); //mette \n in fondo ad s
cout << s; //stampa s
}