Ir ao conteúdo
  • Cadastre-se

Dúvida string c++


NewCod

Posts recomendados

Olá amigos.

Segue abaixo o codigo:


#include <iostream>
#include <string.h>

using namespace std;

int main (){

char minhaString [3];

cout << "Digite seu nome: "<<endl;

cin >> minhaString;

system("cls");

cout << "Seu nome e: " << minhaString << endl;

system("pause");

return 0;

}

Quando o usuario digitar o nome exemplo: Valdemar

Gostaria de entender porque ele pega o nome completo sendo que limitei ate 3 letras?

sendo que ordenei isso no char minhaString [3];

Obrigado

Link para o comentário
Compartilhar em outros sites

Essa nao é a string de C++,essa é a string de C.

Na verdade voce nao delimitou,voce só alocou espaço para 3 bytes,mas voce pode escrever normalmente fora desse intervalo de memória,porém o compilador vai acusar que voce esta escrevendo em local indevido.C/C++ nao fazem nenhum tipo de verificação quanto a isso,voce pode delimitar fazendo isso

std::cin.getline(minhaString,3);//Ele vai fazer um loop de 3 voltas,nenhum misterio..

ou usar a verdadeira string de C++

std::string minhaString;

essa sim faz verificação de tamanho(size) e verificação de intervalo(at)

Link para o comentário
Compartilhar em outros sites

nao,isso é uma string no "estilo C",mas que tambem pode ser usada em C++

C++ consiste de 4 partes basicamente

a parte legada de C,a parte de classes,herança do C++,a STL,e Templates.

aconselho pegar um bom livro para iniciar,os do Deitel são bem didaticos e abrangem um bom conteudo da linguagem

bons estudos

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...