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

apagar string em C

Discussão em 'Programação' iniciada por magikRing, 20 de Dezembro de 2007. (Respostas: 6; Visualizações: 11494)

  1. magikRing

    magikRing Power Member

    boas..eu estou a fazer um trabalho em c que trabalha apenas com memoria virtualmente, nada de ficheiros. quando fecho o prog a memoria vai.se toda.
    bom...a minha duvida e a seguinte. eu tenho uma estrutura quem tem um titulo e um conteudo o que eu quero fazer e quando escolho o comando 'del <nome do texto> apagar o conteudo do texto e o titulo tabem, ou seja, eliminar tudo.

    a quem puder ajudar muito obrigado


    a unica maneira que estou a ver seria atraves do strdelc, mas este so apaga as as letreas que eu disser e nao o texto todo. havera alguma forma de o trasnformar?

    char strdelc (char<nome da string>, char<letras que quero apagar>
    {
    int i,j;
    for(i=j=0;<nome da string>!='\0\;i++)
    if (<nome da string>!=<letras que quero apagar>)
    <nome da string>[j++] = <nome da string>;
    <nome da string>='\0'
    return<nome da string>
    }
     
    Última edição: 20 de Dezembro de 2007
  2. Baderous

    Baderous Banido

    Se o que pretendes é apenas apagar o "conteúdo" da estrutura, deixando-a presente, o que tens de fazer é uma função que torne uma string vazia e depois aplicas aos campos da estrutura.

    Código:
    char * init_str(char *s) {
         s[0]='\0';
         return s;
         }
     
  3. magikRing

    magikRing Power Member

    mas nao ha maneira de remover mesmo?

    ja agora. eu posso apagar os campos da estrutura com ose fossem strings normais?
    a minha estrutura e:

    typedef struct
    {
    char conteudo[25][80];
    char title[80];
    }texto;


    fazendo conteudo[0]='\0\ e o mesmo para o title elas vao ser apagadas?
     
  4. Baderous

    Baderous Banido

    Fazes free ao apontador para a estrutura.

    Código:
    free(*texto)
    Sim, penso que sim.
     
  5. magikRing

    magikRing Power Member

    vou tentar fazer isso entao. obrigado
     
  6. Demio

    Demio Power Member

    Não se pode fazer free a coisas que não foram alocadas dinamicamente.

    Onde é que guardas estas estruturas de dados, lista ligada, vector..?
     
  7. Xikinho90

    Xikinho90 Power Member




    Para comparar strings tens de usar o strcmp, depois para a string ficar vazia fazes strcpy(nome_da_string, ' ') qualquer coisa do genero, mas na net existem montes de documentos sobre strings em c...
     

Partilhar esta Página