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

strings em C ou em Basic

Discussão em 'Programação' iniciada por Angelizer, 26 de Outubro de 2006. (Respostas: 7; Visualizações: 1959)

  1. Angelizer

    Angelizer Power Member

    bom dia a tds queria saber se em C existem funçoes,no stdlib.h para:

    --> devolver o numero de caracters de uma string..

    --> determinar a posiçao de uma substring dentro de uma string

    --> extrair uma string, apartir de uma posiçao, X caracters

    ou seja, em pseudocodigo é, por ordem: lenght(str), index(str,substr) e sub(str,i,x) mas em C nao faço ideia com é...

    ou entao a mesma coisa mas para Basic


    ja descubri 2
    ->strlen(string) = length
    ->strstr(string,substring) = index

    so me falta mesmo o SUB =/

    se alguem me puder ajudar agradecia thx
     
    Última edição: 26 de Outubro de 2006
  2. MaxDamage

    MaxDamage Power Member

    Em C usa a library <string.h> para teres acesso ás funções de manipulação de strings. Vê aqui mais info ;)
     
  3. sapropel

    sapropel Power Member

    algo como:

    Código:
    //buffer tem de estar inicializado com com o char '\0' já inserido no final do array.
    char* substr(const char* src, char* buffer, int index, int numchars)
    {
      int i = 0, n= 0;
    
      //buffer tem espaço suficiente?
      if(numchars > strlen(buffer))
        return NULL;
    
      //index + numero chars ultrapassa o tamanho da string original?
      if(index + numchars > strlen(src))
        return NULL;
    
      for(i = index; i < (index + numchars); i++, n++)
        buffer[n] = src[i];
    
      return buffer;
    }
    
    este codigo foi escrito directamente na caixa de "reply" e não foi testado.
    o meu conselho: se puderes usar C++, usa a class std::string que te safa duma data de dores de cabeça.
     
  4. etraudpt

    etraudpt Power Member

    Em Basic:
    InStr Function
    Returns a Variant (Long) specifying the position of the first occurrence of one string within another.
    Syntax
    InStr([start, ]string1, string2[, compare])
     
  5. etraudpt

    etraudpt Power Member

    Mid Function:
    Returns a Variant (String) containing a specified number of characters from a string.
    Syntax
    Mid(string, start[, length])
     
  6. HecKel

    HecKel The WORM

    Com um pouco de google...

    http://www.cs.cf.ac.uk/Dave/C/node19.html#SECTION001911000000000000000
    Aqui fica um pequeno preview deste link:
    http://www.cprogramming.com/tutorial/lesson9.html

    Acho que o primeiro link já é uma grande ajuda :)

    abraços, HecKel
     
  7. Angelizer

    Angelizer Power Member

    eh bem pessoal obrigadao ai pela ajuda acho que ja me tou a safar...:D
    so tou aki kom um prob faço #include <string.h> e ele nao me le as funçoes de strings que tou a usar...lol

    dame um erro : "undefined reference to 'strcmp' " o.O
     
  8. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Em BASIC:
    x = Len("Ola") -> retorna 3

    x = InStr(1, "Hello World", "l") -> retorna 3. Retorna 0 caso não encontre a String2 dentro da String1.

    x = Mid("Hello World", 3, 5) -> retorna "llo W". Usas como Mid(a String, Posição Inicial, [quantos bytes queres "extrair"]). O último argumento é facultativo, e caso o omitas, começa na posição inicial e "extrai" tudo o que está à frente (ficaria "llo World").

    Espero ter ajudado :)

    Cumps [[[[[[[[]]]]]]]]]
    angelofwisdom
     

Partilhar esta Página