polska Posted June 4, 2012 at 09:35 PM Report #460401 Posted June 4, 2012 at 09:35 PM Boas pessoal, bem, eu estou a seguir o C++ Language Tutorial que fiz download do www.cplusplus.com e encontrei uma dúvida a qual não á referência no livro, por exemplo.. Em c++ , temos o #include <string> , que podemos criar uma string em vez de declarar um vector char.. Agora, a minha pergunta é, se eu quiser construir uma string (colocar caracteres numa determinada posição, retirar, etc.. ) ou quiser por exemplo saber o tamanho de uma string, ou localizar um caracter na string (uso de funções mais precisamente) , eu conssigo fazer isto tudo apenas com o <string> , ou ai já devo criar um array de caracteres para poder aceder ás posições e chamar a string.h para usar as funções de string ? Eu fui ver a strings library do cplusplus e vi que lá tinha funções, mas são de utlização diferente, e como o livro não explica, surgem estas dúvidas xD Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.
pikax Posted June 4, 2012 at 09:46 PM Report #460404 Posted June 4, 2012 at 09:46 PM Bem vindo ao quadro de C++ 👍 Wise choice 😉 C nao tem suporte nativo de strings, nos e' que reconhecemos string a um array de chars. Strings sao o que usas em C++, mas mesmo assim... O objecto "string" em C++ tem varias funcoes, para o mais diversos gostos. Por exemplo juntar 2 "strings" em C, era necessario usar malloc e andar a por o '\0' no final, em C++ nao e' necessario tanta coisa, basta fazer: string str,str2; str="ola, "; str2=str+"sou"; cout<<str2<<endl; etc...etc.. Podes converter uma string para um array de caracter(ao formato de C), usando a funcao: str.c_str(); tambem concegues aceder ao caracter, na posicao que querias, como em C string str="Ola"; str[0]; // 'O' str.at(0);//e' igual ja' agora se quiseres usar funcoes de C, usa o cstring #include<cstring> Eu fui ver a strings library do cplusplus e vi que lá tinha funções, mas são de utlização diferente, e como o livro não explica, surgem estas dúvidas xD Ve o que cada funcao faz, e vais ver que sao uteis Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
polska Posted June 4, 2012 at 10:56 PM Author Report #460421 Posted June 4, 2012 at 10:56 PM Obrigado pikax 👍 , só mais uma coisa, conssigo substituir todas as funções que existem na cstring pelas da <string> ( http://www.cplusplus.com/reference/string/string/ ) certo? Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.
pikax Posted June 4, 2012 at 11:13 PM Report #460429 Posted June 4, 2012 at 11:13 PM todas, todas nao, a cstring e' a mesma biblioteca que a string.h, so' que esta ligueiramente modificada para C++, tem la' funcoes que se precisa quando queres funcoes de tratamento de memoria, coisa que nao tens na biblioteca string. podes usar tambem funcoes de cstring com std::string #include<cstring> #include<string> //... char str[15]; string str2="asdhaskjdh"; strcpy(str,str2.c_str()); ja' agora, as funcoes que podem dar jeito na cstring, sao estas: memchr memcmp memcpy memmove memset Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
polska Posted June 5, 2012 at 06:43 PM Author Report #460664 Posted June 5, 2012 at 06:43 PM todas, todas nao, a cstring e' a mesma biblioteca que a string.h, so' que esta ligueiramente modificada para C++, tem la' funcoes que se precisa quando queres funcoes de tratamento de memoria, coisa que nao tens na biblioteca string. podes usar tambem funcoes de cstring com std::string #include<cstring> #include<string> //... char str[15]; string str2="asdhaskjdh"; strcpy(str,str2.c_str()); ja' agora, as funcoes que podem dar jeito na cstring, sao estas: memchr memcmp memcpy memmove memset Thanks 👍 Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now