Enviado em 16/01/2017 - 16:18h
Boa tarde,#include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct { int id; char * login; char * senha; } database; size_t filesize( const char * path ) { size_t size=0; FILE *fp = fopen(path,"rb"); if(fp != NULL) { fseek(fp, 0L, SEEK_END); size = ftell(fp); rewind(fp); fclose(fp); } return size; } int main() { database db[10]; database temp; FILE * fp; int i; puts ("Iniciando\n"); puts ("Criar estrutura da base de dados.\n"); //Criar estrutura da base de dados. for(i=0; i<sizeof(db)/sizeof(database); i++) { db[i].id=0; db[i].login = (char*) malloc(sizeof(char) * 30 +1); db[i].senha = (char*) malloc(sizeof(char) * 30 +1); } puts("Criar Usuário\n"); //Criar usuário temp.id = 1; temp.login = (char*) malloc(sizeof(char) * 30 +1); strcpy(temp.login,(char*)"TesteLogin"); temp.senha = (char*) malloc(sizeof(char) * 30 +1); strcpy(temp.senha,(char*)"testesenha"); db[0] = temp; puts("Guardar na base de dados db.bin\n"); //Guardar na base de dados db.bin fp = fopen("db.bin","w+b"); fwrite(&db,sizeof(&db),sizeof(database),fp); fclose(fp); puts("Resetando a Estrutura\n"); //Resetando a Estrutura //memset(&db,0,sizeof(db)); puts("Carregar conteúdo da base de dados.\n"); //Carregar conteúdo da base de dados. fp = fopen("db.bin","rb"); fread(&db,filesize("db.bin"),sizeof(database),fp); fclose(fp); puts("Listar conteudo da base de dados.\n"); //Listar conteudo da base de dados. for(i=0; i<sizeof(db)/sizeof(database); i++) { printf("Id do Usuário: %d, Login: %s, Senha: %s\n",db[i].id,db[i].login,db[i].senha); } puts("\nProcurar pelo login TesteLogin e trocar a senha.\n"); //Procurar pelo login TesteLogin e trocar a senha; for(i=0; i<sizeof(db)/sizeof(database); i++) { if(strcmp(db[i].login,(char*)"TesteLogin")==0) { strcpy(db[i].senha,(char*)"SenhaTrocada"); } } puts("Guardar na base de dados db.bin\n"); //Guardar na base de dados db.bin fp = fopen("db.bin","w+b"); fwrite(&db,sizeof(&db),sizeof(database),fp); fclose(fp); puts("Carregar conteúdo da base de dados.\n"); //Carregar conteúdo da base de dados. fp = fopen("db.bin","rb"); fread(&db,filesize("db.bin"),sizeof(database),fp); fclose(fp); puts("Listar conteudo da base de dados.\n"); //Listar conteudo da base de dados. for(i=0; i<sizeof(db)/sizeof(database); i++) { printf("Id do Usuário: %d, Login: %s, Senha: %s\n",db[i].id,db[i].login,db[i].senha); } return 0; }
Enviado em 18/01/2017 - 08:03h
Não querendo fazer nenhum ataque ou perseguição pessoal, o fato é que praticamente todas as sugestões e comentários do Bruno Thomaz ao longo deste tópico são ruins, e devem, pelo bem da sanidade, ser desconsiderados.Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
Meu Linux Mint não mostra nenhuma opção de WiFi (1)
Linux mint não desliga corretamente mesmo mexendo no grub (2)