Ir ao conteúdo
  • Cadastre-se

Ajuda com strings e char


Murilo Marchiori

Posts recomendados

Olá, amigos, bom dia. Gostaria da ajuda dos senhores com um exercício referente a meu curso de Ciencia da Computacao. Atualmente, na materia projeto e contrução de compiladores, estamos implementando um programa de análise léxica, pra verificar se o que o usuário digitou é palavra reservada, operador numerico, etc...

No caso, imaginem a seguinte situação. Através do comando fgetc, pego os caracteres um a um que o usuário digitou. Se o usuário digitou "int x", eu vou pegando, caractere por caractere, a letra i, depois a letra n, depois a letra t. Minha dúvida é como juntar tudo isso numa string, porque eu tenho todas as palavras reservadas armazenadas num arquivo de texto, no seguinte formato:

int

float

auto

break

case

Vocês podem ver que são strings. Como posso juntar os caracteres "i", "n" e "t" pra formar a string "int" e poder buscar essa string no arquivo?

Muito obrigado.

Link para o comentário
Compartilhar em outros sites

Não sei se é bem isso aqui que você queria. Mas para juntar você pode fazer assin:


#include <iostream>
#include <string>
#include <cstdlib>

using namespace std;

int main()
{
string a="i"; // suponhamos que a pessoa tenha digitado isso. I.N.T
string b="n";
string c="t";

string junta=a+b+c;
cout<<junta<<"\n";

system("pause");
}

você pode juntar e depois comparar. Por exemplo.


if(junta=="INT")
{
//faz alguma coisa...
}

Acho que era isso ? Qualquer dúvida é so colocar.. !! falou.!!!

Link para o comentário
Compartilhar em outros sites

Não sei se é bem isso aqui que você queria. Mas para juntar você pode fazer assin:


#include <iostream>
#include <string>
#include <cstdlib>

using namespace std;

int main()
{
string a="i"; // suponhamos que a pessoa tenha digitado isso. I.N.T
string b="n";
string c="t";

string junta=a+b+c;
cout<<junta<<"\n";

system("pause");
}

você pode juntar e depois comparar. Por exemplo.


if(junta=="INT")
{
//faz alguma coisa...
}

Acho que era isso ? Qualquer dúvida é so colocar.. !! falou.!!!

Aham, ajudou bastante, valeu! :)

Administration, please, close

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...