
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;
}
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)
Instalação não está resolvendo as dependencias (2)
Captação de áudio no zorin linux começa a diminuir com o tempo (5)
Alternativas ao Multilogin para gerenciamento de múltiplas contas/prof... (0)









