Ir ao conteúdo
  • Cadastre-se

Gabriel Paulucci

Membro Pleno
  • Posts

    21
  • Cadastrado em

  • Última visita

Reputação

6
  1. @isrnick valeu consegui fazer aqui n sabia desse modo obrigado
  2. @devair1010 eu entendi o que você quis dizer e eu consigo fazer isso mas queria saber se tem como declarar na propria chamada da função não ha uma maneira de passar igual eu fiz com "..-" ?
  3. Olá eu estou com uma duvida que parece simples, em si eu sei passar uma variável de vetor para uma função mas n sei como declarar essa variável na chamada da função. void func_cp(char modo, int tamanho, char permitir, char *variavel, int posições[], char caracteres[], int quantasposicoes); esse é o protótipo da função e queria passar para ela essa informações func_cp('c', 11, 'n', cadastro.cpf, {3, 6, 9}, "..-", 3); especificadamente a parte "{3, 6, 9}" eu n consigo passar para a função obs: a funcionalidade da função n importa no momento ela ja esta funcionando corretamente
  4. @AnsiC tipo tem uns 10 registrados e tenta pegar o 9, 8, ele ja n funciona
  5. @AnsiC você tentou fazer uns 10 testes ? porque no inicio funciona normalmente mas depois disso ele começa a acontecer aquilo
  6. Olá eu criei um programa que grava as informações de pesquisa elas mas n hora de pesquisar n esta funcionando e n sei o motivo de isso estar acontecendo #include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> int main(int argc, char const *argv[]) { struct cadastro { int id; char nome[21]; int telefone; }clientes[10]; int cad_id_res; char cad_nome[21], cad_nome_res[21]; int cad_telefone, cad_telefone_res; FILE *arquivo; FILE *ultimoid; arquivo = fopen("arquivos/teste.txt", "a+"); ultimoid = fopen("arquivos/ultimoid.txt", "r+"); if (arquivo == NULL) { arquivo = fopen("arquivos/teste.txt", "w"); if (arquivo == NULL) { CreateDirectory("arquivos", NULL); arquivo = fopen("arquivos/teste.txt", "w"); } else { fclose(arquivo); arquivo = fopen("arquivos/teste.txt", "a+"); } } if (ultimoid == NULL) { ultimoid = fopen("arquivos/ultimoid.txt", "w"); if (ultimoid == NULL) { CreateDirectory("arquivos", NULL); ultimoid = fopen("arquivos/ultimoid.txt", "w"); } else { fprintf(ultimoid, "0"); fclose(ultimoid); ultimoid = fopen("arquivos/ultimoid.txt", "r+"); } } printf("Digite o nome: "); scanf("%20[^\n]", cad_nome); setbuf(stdin, NULL); printf("Digite o telefone: "); scanf("%i", &cad_telefone); fscanf(ultimoid, "%i", &clientes->id); clientes->id += 1; fclose(ultimoid); ultimoid = fopen("arquivos/ultimoid.txt", "r+"); fprintf(ultimoid, "%i", clientes->id); strcpy(clientes->nome, cad_nome); clientes->telefone = cad_telefone; fprintf(arquivo, "%05i %-20s %09i\n", clientes->id, clientes->nome, clientes->telefone); rewind(arquivo); fscanf(arquivo, "%5i %20c %9i", &cad_id_res, cad_nome_res, &cad_telefone_res); printf("%05i %s %09i", cad_id_res, cad_nome_res, cad_telefone_res); printf("\nQual id a pesquisar: "); int id; scanf("%i", &id); printf("\n\n\n"); rewind(arquivo); /*fseek(arquivo, i * 39, SEEK_SET);*/ for (int i = 0; i < clientes->id; ++i) { fscanf(arquivo, "%5i %20c %9i", &cad_id_res, cad_nome_res, &cad_telefone_res); if (id == cad_id_res) { printf("%05i %s %09i\n", cad_id_res, cad_nome_res, cad_telefone_res); break; } else { printf("Nao encontrado %05i ", i); printf("%05i %s %09i\n", cad_id_res, cad_nome_res, cad_telefone_res); } } fclose(arquivo); fclose(ultimoid); system("pause"); return 0; } no arquivo de texto sai da maneira correta mas quando tento puxar n vai 00001 teste 23 312654978 00002 teste 2 312456987 00003 teste 3 789465123 00004 teste 4 789465132 00005 teste 5 987564123 00006 teste 6 123456798 00007 teste 7 789456123 00008 teste 8 231564789 00009 teste 9 123456789 "arquivo de texto" o arquivo "ultimo id" e um simples arquivo que contem qual foi o ultimo id usado inicialmente ele começa com 0
  7. valeu cara você ta me ajudando muito
  8. aqui esta a formatação que vai para o arquivo de texto
  9. %5[^-] seria pegar 5 caracteres e quando chegar no "-" ele para depois e %20[^-] e %i pelo o que eu entendi tenho que colocar o fscanf formatado igual esta no arquivo de texto
  10. eu estou tendo como retorno e no arquivo de texto esta 00025-teste sla -123456789 ja tentei colocar fprintf("%05i-%-20s-%9i"); e depois pegar com fscanf("%5[^-]%20[^-]%i\n"); (sei que coloquei com partes faltando) mas n vai
  11. Olá eu estou tentando pegar dados de um arquivos de texto e ele esta formatado porque usei o fprintf para colocar no arquivo mas quando tento recuperar os dados o retorno n é o esperado #include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> int main(int argc, char const *argv[]) { int cad_id, cad_id_res; char cad_nome[20], cad_nome_res[20]; int cad_telefone, cad_telefone_res; FILE *arquivo; arquivo = fopen("arquivos/teste.txt", "a+"); if (arquivo == NULL) { arquivo = fopen("arquivos/teste.txt", "w"); if (arquivo == NULL) { CreateDirectory("arquivos", NULL); arquivo = fopen("arquivos/teste.txt", "w"); } else { fclose(arquivo); arquivo = fopen("arquivos/teste.txt", "a+"); } } printf("Digite o id: "); scanf("%i", &cad_id); setbuf(stdin, NULL); printf("Digite o nome: "); scanf("%[^\n]", cad_nome); setbuf(stdin, NULL); printf("Digite o telefone: "); scanf("%i", &cad_telefone); clientes->id = cad_id; strcpy(clientes->nome, cad_nome); clientes->telefone = cad_telefone; fprintf(arquivo, "%05i %-20s %9i\n", clientes->id, clientes->nome, clientes->telefone); fscanf(arquivo, "%i %20s %i\n", &cad_id_res, cad_nome_res, &cad_telefone_res); printf("%i %s %i \n", cad_id_res, cad_nome_res, cad_telefone_res); fclose(arquivo); system("pause"); return 0; }
  12. valeu cara mas o que exatamente esta com erro ? so pra eu n errar novamente caso eu tente fazer de novo ? char teste= ((char)0); _beginthread(timeagr, 0, ((void*)0)); time_t rawtime= ((time_t)0); struct tm *timeinfo= ((struct tm *)0); CHAR_INFO charbufferdata[sizeof((char[]){"DD/MM/YYYY"})]= {0}; sprintf(tempo_DD, "%02u", DD); você poderia por gentiliza explicar esse parâmetros ? nunca utilizei eles assim e nem vi em nenhum lugar por exemplo porque você utilizou char teste = "((char)0)" isso muda algo ?
  13. ok obrigado por estar ajudando talvez um dos erros seja o int i que esta dentro do for

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...