1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Como substituir caracteres por variaveis em fixeiros em c++

Discussão em 'Programação' iniciada por ZePestao, 28 de Março de 2008. (Respostas: 4; Visualizações: 1717)

  1. ZePestao

    ZePestao Power Member

    Bem, a minha duvida está no topico.
    Tenho um fixeiro .txt, com uns caracteres especiais, a minha ideia é substitui-los por variaveis e imprimir o .txt alterado no ecran, como fazer?
     
  2. Aparicio

    Aparicio /dev/mod
    Staff Member

    Podes ir lendo o ficheiro carácter a carácter e verificar se aparece esses caracteres especiais, se for um desses caracteres especiais imprimes no ecrã as tais variáveis, se não for imprimes os caracteres do ficheiro.
     
  3. ZePestao

    ZePestao Power Member

    E como leio o ficheiro carácter a carácter?
     
  4. mj2p

    mj2p I'm Cool Cuz I Fold

    Aqui fica um exemplo de como se pode percorrer o ficheiro caracter a caracter, usando a biblioteca fstream (claro que a sugestão do Baderous é boa, estou a postar isto para ficares com mais que uma maneira).

    Código:
    [SIZE=2][COLOR=#0000ff]#include [/COLOR][/SIZE][SIZE=2][COLOR=#800000]<fstream>[/COLOR][/SIZE]
    [SIZE=2][COLOR=#0000ff]#include [/COLOR][/SIZE][SIZE=2][COLOR=#800000]<iostream>[/COLOR][/SIZE]
    [SIZE=2][COLOR=#0000ff]using [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]namespace [/COLOR][/SIZE][SIZE=2][COLOR=white]std;[/COLOR][/SIZE]
     
    [SIZE=2][COLOR=#0000ff]int [/COLOR][/SIZE][SIZE=2][COLOR=white]main()[/COLOR][/SIZE]
     
    
    [SIZE=2]{[/SIZE][INDENT][SIZE=2][COLOR=#008000]//variavel que irá conter os caracteres lidos do ficheiro[/COLOR][/SIZE][/INDENT]
    
    [INDENT][SIZE=2][COLOR=#0000ff]char[/COLOR][/SIZE][SIZE=2] ch;[/SIZE][/INDENT]
    
    [INDENT][SIZE=2][COLOR=#008000]//abrir o ficheiro[/COLOR][/SIZE][/INDENT]
    
    [INDENT][SIZE=2]ifstream ReadFile ([/SIZE][SIZE=2][COLOR=#800000]"c:\\cpp.txt"[/COLOR][/SIZE][SIZE=2]);[/SIZE][/INDENT]
    
    [INDENT][SIZE=2][COLOR=#008000]/*executar enquanto a variavel que está a percorrer o ficheiro [/COLOR][/SIZE][/INDENT]
    
    [INDENT][SIZE=2][COLOR=#008000]não recolher o caracter de final [/COLOR][/SIZE][SIZE=2][COLOR=#008000]de ficheiro*/[/COLOR][/SIZE][/INDENT]
    
    [INDENT][SIZE=2][COLOR=#0000ff]while[/COLOR][/SIZE][SIZE=2] ((ch = ReadFile.get()) != EOF)[/SIZE][/INDENT]
    
    [INDENT][SIZE=2]{ [/SIZE][INDENT][SIZE=2]cout << ch; [/SIZE][/INDENT]
    [SIZE=2]}[/SIZE]
    [/INDENT]
    
    [INDENT][SIZE=2][COLOR=#0000ff]return[/COLOR][/SIZE][SIZE=2] 0;[/SIZE][/INDENT]
    [SIZE=2]}[/SIZE]
     
    
    O que este programa faz é simplesmente usar a função get() (que recolhe um caracter apenas da console input) associada à stream (ficheiro) que estás a usar (neste caso o ficheiro que usei foi c:\cpp.txt). Ou seja, a console input, neste caso, é o teu ficheiro.

    Vá, cumps
     
    Última edição: 29 de Março de 2008

Partilhar esta Página