Assignment makes integer from pointer without a cast

Résolu
alussk Messages postés 15 Date d'inscription lundi 17 octobre 2005 Statut Membre Dernière intervention 18 mars 2006 - 31 oct. 2005 à 11:39
alussk Messages postés 15 Date d'inscription lundi 17 octobre 2005 Statut Membre Dernière intervention 18 mars 2006 - 31 oct. 2005 à 13:21
Bonjour,
ma fonction est censé generée une clé a partir d'un mot de passe donné
quand je compile j'ai deux warning:

char keygen(char *fileread, char *passwd, char *key){
int i, len;
char pass[12];
char invpass[12];
FILE *pfileread;
char invkey[filesize(fileread)];
*invpass=reverse(passwd);
for(i=0;i<12;i++){
key[i]=passwd[i] ^ invpass[i];
}
*invkey=strncat(passwd,key,sizeof(key)); /*Warning n° 1*/
for(i=0;i<filesize(fileread);i++){
key[i]= invkey[i] ^ (reverse(invkey));
*invkey=strncat(passwd,key,sizeof (key)); /*Warning n°2 */
}
fclose(pfileread);
}

Etant donné que je debute en C (je travaille actuellement sur mon second programme dans ce langage), je ne suis pas très a l'aise avec les pointeur (j'ai lu plusieur cours a ce sujet mais rien n'y fait) et je n'arrive pas a supprimé ces warnings.
Quelqu'un saurait-il ou se trouve mon erreur ????
A voir également:

8 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
31 oct. 2005 à 13:16
strncat(passwd,key,sizeof(key));
Fais gaffe au sizeof, sizeof(key) vaut 4 car tu reçois *key en param. La taille d'un pointeur es tde 4 octets sur system 32 bits.
Pour le reste faut te plonger dans un bouquin de C et bien assimiler pointeurs et tableaux.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
3
Rejoignez-nous