Jump to content
marciniak

Ajuda! - Preenchimento de string através de função

Recommended Posts

Salve!
Estou tentando escrever em uma string (ponteiro alocado dinamicamente) através de uma função alimentada por um ponteiro
Codigo de exemplo:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void teste (char *str)
{
    str = (char*)malloc(sizeof(char)*(strlen("teste")));
    strcpy(str, "teste");

    printf("%s", str);
}

int main()
{
    char *str1 = NULL;

    teste(str1);

    printf("|%s", str1);

    return 0;
}

 

A intenção é que a saída seja algo do tipo:

teste|teste

porém o resultado é:

teste|(null)

 

Acredito que por estar enviando como referência o str1 ele deveria ser alterado pela função, e portanto permanecer como o mesmo valor de str (que aponta para ele), porém isso não acontece.
Como deveria proceder para conseguir o resultado desejado?

Agradeço!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By FMonteiro
      Estou com um problema na chamada de uma função criada em uma classe. 
      Ao fazer a chamada da função, recebo uma mensagem de que a função não existe. 
      A mensagem de erro é: 
      "Fatal error: Uncaught Error: Call to undefined function EXECUTAR() in C:\...\cls_bd.php:154 Stack trace: #0 C:\...\cls_mail.php(99): bd->INSERIR('tbmensagens', 'data,hora,nome,...', 'DATE_FORMAT((se...', NULL) #1 C:\...\cls_mail.php(108): GRAVAR_EMAIL('Empresa Produto...', 'lu@gmail.com', '3230833394', 'Nome: Empresa P...') #2 C:\...\cls_contato.php(31): ENVIAR_GRAVAR_EMAIL('Empresa Produto...', 'lu@gmail.com', '3230833394', 'Nome: Empresa P...') #3 {main} thrown in C:\...\cls_bd.php on line 154"
      Na foto em anexo, há o script criado com a chamada da função (linha 154) e da função criada (linha 123).
      Será que alguém pode jogar uma luz no assunto para mim?

    • By VCastilho
      Bom Dia
      Consegui da seguinte forma, mas com faço para que o código selecionado substitua o antigo?

       
      <!DOCTYPE html> <html> <body> <style> #filtrotopo { background: #484949; } } #h4topo { text-align: center; color: white; font-size: 18px; } #form1 section { display: flex; flex-wrap: wrap; justify-content: center; } h4 { } #form1 section label { display: flex; justify-content: center; align-items: center; margin: 0 10px; /* width: calc(100% / 5); */ color: red; text-align: center; } @media screen and (max-width:768px) { #form1 section label { margin-bottom: 20px; width: 100%; } } </style> <div id="minhaEscolha"></div> <div id = "filtrotopo"> <h4 style="text-align: center;" id="h4topo">Personalize</h4> <form action="#" id="form1"> <section> <label> <button onclick="exemplo1()"> exemplo1</button> </label> <label> <button onclick="exemplo2()"> exemplo2 </button> </label> </section> </form> <br> </div> <div id="teste1" style="display: none;"> <h3>Texto 1</h3> <p>Sou o Texto 1</p> <p>Tenho o nome de Texto 1</p> </div> <script> function exemplo1() { var x = document.getElementById("url"); var y = document.getElementById("minhaEscolha"); y.innerHTML = x.innerHTML; } </script> <script> function exemplo2() { var x = document.getElementById("teste1"); var y = document.getElementById("minhaEscolha"); y.innerHTML = x.innerHTML; } </script> <body> </html>  
    • By Matheus Guermandi Ribeiro
      tabela Chamado
          idChamado
          dataChamado,
          statusChamado,
          descricaoChamado,
          tituloChamado,
          idChamadoPai,
          idRemetente,
          idDestinatario
       
      function historicoChamado($idChamdoFilho) {
          static $ArrayIdChamadoPai = array();
          global $link;
          $cmdAux = "SELECT
                 idChamadoPai
                 FROM Chamado 
                 WHERE idChamado = '$idChamdoFilho'";
          $resultAux = mysqli_query($link, $cmdAux);
          $dadosAux = mysqli_fetch_array($resultAux);
          $idChamadoPai = $dadosAux['idChamadoPai'];
          if ($idChamadoPai != NULL) {
              array_unshift($ArrayIdChamadoPai, $idChamadoPai);
              historicoChamado($idChamadoPai);
          } else {
              return $ArrayIdChamadoPai;
          }
      }
       
       
       
      Preciso que esse array retorno todos os idChamadoPai. Já tentei colocar o ArrayIdChamadoPai como global mais tbm não funciona. Quem puder ajudar salvaria muito 
    • By Bruno Goedert Dalmolin
      Não consigo apresentar as palavras equivalentes conseguem me ajudar???
      O código é o seguinte: 
       
      #include <stdio.h>
      char equivale(int ddd){
          switch(ddd){
              case 61:
                  return "Brasilia";
                  break;
              case 71:
                  return "Salvador";
                  break;
              case 11:
                  return "Sao Palo";
                  break;
              case 21:
                  return "Rio de Janeiro";
                  break;
              case 32:
                  return "Juiz de Fora";
                  break;
              case 19:
                  return "Campinas";
                  break;
              case 27:
                  return "Vitoria";
                  break;
              case 31:
                  return "Belo Horizonte";
                  break;
          }
      }
      int main(){
          int ddd;
          scanf("%d",&ddd);
          equivale(ddd);
          printf("%d",equivale(ddd));
      }
    • By alyssonw2silva
      Sou novo aqui e estou com o seguinte código 
      function buscar($query) { include_once 'conn.php'; if ($resulte2 = mysqli_query($conn, $query)) { while($row2 = mysqli_fetch_array($resulte2)) { print "<option value='".$row2[0]."'>".$row2[1]."</option>"; }; }; ele e para preencher os campos do meu select está funcionando mas como tenho outro select o primeiro roda agora o segundo da erro quando eu desabilito o primeiro  o segundo select e preenchido 
       
      estou chamando a mesma função para ambos os selects mas o parâmetro $query e diferente 
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.