issues
Power Member
Espero que me consigam ajudar:
Tenho este programa:
o ficheiro users.dat:
u1,p1;
u2,p2;
u3,p3;
o resultado da execuçao:
u1
p10
u20
p20
u30
p30
30
30
Aqueles zeros nao devia estar nem aqueles dois 30. Alguém pode dar uma ajuda. Por favor.
Usei compilador gcc e o vi para editar.
Tenho este programa:
Código:
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
int main()
{
char *users[6];
char *pass[6];
char lere[1];
char ler[1];
int lertudo,n,i;
n=0;
FILE *fp = fopen("./users.dat", "r+");
while(!feof(fp)){
lertudo=fread(ler,sizeof(ler),2,fp);
users[n]=malloc(strlen(ler) * sizeof(char));
strcpy(users[n],ler);
lertudo=fread(ler,sizeof(ler),1,fp);
lertudo=fread(ler,sizeof(ler),2,fp);
pass[n]=malloc(strlen(ler) * sizeof(char));
strcpy(pass[n],ler);
lertudo=fread(ler,sizeof(ler),1,fp);
lertudo=fread(ler,sizeof(ler),1,fp);
n=n+1;
}
for(i=0;i<n;++i){
printf("%s\n",users[i]);
printf("%s\n",pass[i]);
}
o ficheiro users.dat:
u1,p1;
u2,p2;
u3,p3;
o resultado da execuçao:
u1
p10
u20
p20
u30
p30
30
30
Aqueles zeros nao devia estar nem aqueles dois 30. Alguém pode dar uma ajuda. Por favor.
Usei compilador gcc e o vi para editar.
Última edição pelo moderador: