Jump to content
Fórum Script Brasil

Marcia Rosa

Membros
  • Content Count

    18
  • Joined

  • Last visited

Community Reputation

0 Neutro

About Marcia Rosa

  1. Então Beraldo, os códigos que tentei, sem sucesso em ambos, foram esses: void ParametrosRetorno(char *parametros, char *loja_cnpj, char *loja_nome, char *loja_endereco, char *saldo_valor, char *data, int tam) { int i; //setar o cnpj da loja parametros++; for (i = 0; i < tam; i++) { if (*parametros == '|') break; else { *loja_cnpj = *parametros; parametros++; loja_cnpj++; } } //setar o nome da loja parametros++; for (i = i; i < tam; i++) { if (*parametros == '|')
  2. o que quer dizer com isso? dá erro? se sim, poste a mensagem e que compilador é? Beraldo, É um compilador para aplicação embarcada. Tem várias funções que não podem ser usadas em o strtok é uma delas.
  3. Marcia Rosa

    Função Split

    Pessoal, alguém teria uma função que faça um split numa string? Já tentei de tudo e não consigo e os exemplos que achei na internet não funcionaram aqui. Tenho uma variável: "Marcia|Silva|Rosa" Preciso de: "Marcia" "Silva" "Rosa" OBS: não posso usar strtok porque meu compilador não aceita. Obrigada,
  4. David, Agora sim funcionou. Aos poucos estou me acostumando com o C. Achava que seria fácil pra mim que mexia com C# mas estou vendo que muita coisa é BEM diferente. Muito obrigada pela ajuda. Marcia.
  5. Olá David, Aqui eu já havia testado da vez passada e gera o seguinte erro: "Src\Funcoes.c:92: error: parse error before '&' token". Se tiro o & do parametro charDestino, compila. Só que daí não faz nada. Eu uso compilador de um sistema embarcado (não posso informar qual). Tenho que ficar limitada ao que esse compilador interpreta, que no caso não é tudo que normalmente se pode usar no C. De qualquer forma valeu pela força e vou continuar tentando. Abç. Marcia
  6. Olá David, Testei aqui e não funcionou. Mas agradeço a tentativa.
  7. Senhores, Venho recorrer a ajuda de vocês novamente pois estou a dois dias quebrando a cabeça e ainda não consegui resolver meu problema. No C# quando eu preciso alocar valores a esquerda eu uso PadLeft. Exemplo: string var1 = "55"; var1 = var1.PadLeft(5, '0'); //valor de var1 será "00055" [/codebox] Alguém sabe me dizer se o C possui algo assim? Ou já viu algo que dê pra fazer isso? Meu código que estou tetando fazer: [codebox] void PadLeft(char *charPrencher, char *charDestino, char *charOrigem, int total) { int i; int j; //preencher antes do valor enviado for(i=0;i &l
  8. Durub, Primeiro peço desculpas pela demora em responder mas estava em viagem. E obrigada pela explicação. Testei aqui e já me ajudou. ao menos posso correr atrás do resto agora. Obrigada pela peciência de explicar, pois como disse estou começando no C e tenho vícios de outras linguagens, e alguns colegas de fórum acham que estamos pedindo para resolver o problema mas na verdade uma simples explicação já ajudaria para esse e vários outros problemas que possamos vir a encontrar. Abç Marcia.
  9. Ronaldo, Não posso mudar o uint8 pois faz parte do sistema já em uso onde existem outras bibliotecas usando esse modelo. O 512+1 também não entendi porque foi feito assim. Como estava assim, não mexi. Quanto a sua dica de usar o strcpy para a variável var1, como eu disse assim sempre funcionou! Só que os valores devem ser dinâmicos e não estáticos como está ali. Mesmo assim, agradeço. Marcia.
  10. Ronaldo, está compilando perfeitamente. Só que não tenho debugar porque testo num terminal com características específicas que não tenho como simular no meu PC. Daí ao rodar lá, ou não pega o valor ou dá erro e a app reinicia sem exibir a mensagem de erro. Obrigada.
  11. Olá, Novamente recorro a ajuda de vocês porque tem coisas que ainda estou aprendendo e descobrindo os segredos. Baixei um código da internet onde tem a seguinte variável: static uint8 var1[512+1]; strcpy(var1, "123456"); [/CODEBOX] Nesse caso acima está estático. E preciso do valor dinâmico. Daí tentei assim (e não funcionou): [CODEBOX] static uint8 var1[512+1]; char str_tmp = "123456"; strcpy(var1, str_tmp); Tentei assim (e não funcionou): static uint8 var1[512+1]; char *str_tmp = "123456"; strcpy(var1, str_tmp); [/CODEBOX] Tentei assim (e não funcionou): [CODEBOX] static ui
  12. Perfeito. Funcionou exatamente como precisava. Só confirmar se o que alterei está certo.... Em "Metodo2( &variavel );" no arquivo1 eu mudei para "Metodo2( &pont );". Assim funcionou. Tá certo? Aproveitar e perguntar mais uma coisa....sempre que passar char no parâmetro deve ser com dois asteríscos "void Metodo2( char **variavel )"? Muito obrigada. Você não sabe o quanto me ajudou pois em nenhuma apostila e material que encontrei na internet há referências de fazer algo desse modo que você me ensinou. Márcia.
  13. webpantoja, Acho que funcionou. Não pude ter certeza porque eu tenho que retornar um char de 16. Poderia me dizer como ficaria usando char? Fiz aqui e não deu certo: Arquivo1 main() { char variavel[16]; Metodo2( &variavel ); printf("X = %s", variavel ); } Arquivo2 Metodo2( char *variavel ) { *variavel = "return ok"; }
  14. webpantoja, Com certeza melhorou meu entendimento desse tal de *ponteiro. Vou testar essa sua dica e ver se vai dar certo. Pela lógica, creio que dará certo. Antes preciso ver o por quê e fazer o meu compilador voltar a funcionar. Estava tudo bem até ontem a tarde. Assim que o refizer voltar a ativa, dou resposta no tópico. Muito obrigada. Márcia.
  15. Mnemonic, Até tentei fazer isso só que dá erro que a variável x não foi declarada. Declarei ela no arq2.c; fiz include do arq2.c no arq1.c e após invocar o método que preenche o valor de X no arq2.c dei um print para exibir o valor de X. Continuo na mesma. Obrigada pela tentativa.
×
×
  • Create New...