none
Função em feita em c# para o c++? RRS feed

  • Pergunta

  • Pessoal. estou criando uma API. preciso trazer uma função que foi feita em c# para o c++.

    A função tem o proposito de extrair uma string entre outras duas:

    Exemplo

    [STRING1]

    Minha String

    [STRING2]

    Retorno

    Minha String

     

    Essa função em C# já está feita agora preciso dela em c++

     

    Codigo Fonte C#

    public static string[] GetStringInBetween(string strBegin, string strEnd, string strSource, bool includeBegin, bool includeEnd)
            {
                string[] result = { "", "" };
                int iIndexOfBegin = strSource.IndexOf(strBegin, StringComparison.CurrentCultureIgnoreCase);
                if (iIndexOfBegin != -1)
                {
                    // include the Begin string if desired
                    if (includeBegin)
                        iIndexOfBegin -= strBegin.Length;
                    strSource = strSource.Substring(iIndexOfBegin
                        + strBegin.Length);
                    int iEnd = strSource.IndexOf(strEnd);
                    if (iEnd != -1)
                    {
                        // include the End string if desired
                        if (includeEnd)
                            iEnd += strEnd.Length;
                        result[0] = strSource.Substring(0, iEnd);
                        // advance beyond this segment
                        if (iEnd + strEnd.Length < strSource.Length)
                            result[1] = strSource.Substring(iEnd
                                + strEnd.Length);
                    }
                }
                else
                    // stay where we are
                    result[1] = strSource;
                return result;
            }
    



    "Desenvolvendo..."
    segunda-feira, 28 de novembro de 2011 11:24

Todas as Respostas

  • Marcelo, bom dia! Feliz ano novo p/ você. Você já tentou postar esta dúvida no forum C#? Ou já tentou postar sua dúvida no forum C++ ou C# dos EUA?! Tente fazer isso! Lá por ter mais usuários de C++ no fórum, você terá mais chance de ter sua pergunta respondida com êxito. Fique c/ Deus.


    Qual é o caminho para ser um bom programador?! Resp: Estudar, estudar e estudar...

    domingo, 1 de janeiro de 2012 04:47
  • Marcelo,

    Eu não entendi muito bem o seu algoritmo, mas segue abaixo alguma ajuda:

    1) Utilize strings da STL (std::string).

    2) O método equivalente ao IndexOf seria find.

    3) O método equivalente ao SubString seria substr;

    4) O método equivalente à propriedade Length seria length().

    5) O ideal (na minha opinião) seria retornar um container vector genérico de strings (vector<string>).

    Não cheguei a testar o seu código, mas não seria mais simples utilizar um split na string e verificar seu conteúdo?

    Abraços.

    Ari C. Raimundo
    MCAD, MCTS
    http://araimundo.blogspot.com

    segunda-feira, 2 de janeiro de 2012 02:24
  • Recomendo estudar o boost::regex.
    sexta-feira, 6 de janeiro de 2012 04:47