Ir ao conteúdo
  • Cadastre-se
Iann Oliveira

Vetor string

Recommended Posts

E aí galera, estou com um problema de lógica, não consigo encontrar uma função que atribua valores de vetor um string para outro vetor:

 

#include <iostream>

using namespace std;

int main(){
char nome[2][10];
char aux[2][10];
int i;

    for(i=0;i<2;i++){
        cout<<"Digite um caractere: ";
        cin>>nome;
    }
    
    for(i=0;i<2;i++){
        aux=nome;//No caso, essa atribuição só funcina com inteiros, como seria para Strings?
        cout<<"[ "<<aux<<" ]"<<endl;
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

você esta confundindo strings herdados de C (c_str) com a classe string de c++, c_strings é um conjunto de chars, e a classe string de c++, como ja falei é uma classe. Uma classe é como uma navalha suíça, possui ja muitas funções prontas, construtores de destrutores, pois um dos construtores da classe string é o construtor de copia, esse é o que te permite você fazer uma atribuição tipo aux=nome pois o operador = esta sobrecarregado, mas você não está usando a classe string e sim string tipo c como comentei antes(c_str), char nome[10] é um vetor, e é a forma padrão de C para strings, ja que em C não ha classes, então você precisa usar os recursos de C para isso, o nome da função que você busca é strcpy que está contido na biblioteca cstring(string.h em C).
Um exemplo:
#includ<cstring>
int main(){
char nome[10]="raul";
char aux[10];
strcpy(aux, nome);
copiado nome em aux

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×