Bonjour à tous.

J'ai un problème (ptetr tout bete pour vous gds gourous du C) avec ce code (entre autres... ) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
/* 
MODULE : CREER enregistrement du texte
Role : manipulation d'un enregistrement de 30 mots
Structures manipulees : enregistrement
Dependances : <stdio.h>
*/
#include <stdio.h>
#include "createRecord.h"
 
FILE * ptrFich;
 
 
/*
Nom : createRecord
Role : creer un enregistrement de 30 mots pour faciliter et accelerer le traitement du texte à indexer
Signature : FILE * -> ENREGISTREMENT *
Entrée : -
Sortie : ENREGISTREMENT * record
MAJ : -
Dependances : <stdio.h>
Algorithme : 
    DEBUT
        indice : entier, indice de parcours du tbl;
        indice<-0;
        Lire le fichier pointé par ptrFile;
        TANT_QUE indice<30 FAIRE
            indice++;
            record(indice)<-mot_courant;
        FIN_TANT_QUE
        Retourner record;
            
    FIN
 
 
*/
char * createRecord(FILE * ptrFile)
{
    int nb_mots;
    char tab_enr[50];
    char * mot;
    char caractere;
    char sep[]="|-><,(); :.\'\t\0 «»";
    nb_mots=0;
    if (ptrFile!=NULL)
    {    ptrFich=ptrFile;
    }
    while (!feof(ptrFich) || fgetc(ptrFich)!='\n')
    {    caractere=fgetc(ptrFich);
        int i=0;
        int bool=0;
        //on cherche si le caractère correspond à un séparateur dans le
        //tableau de séparateur
        while (i<16 || bool==1)
        {    if (caractere==sep[i])
                bool=1;
        }
        //si ce n'est pas un séparateur on écrit le mot
        if (bool==0)
        {    strcat(mot,caractere);
        }
        else 
        {    tab_enr[nb_mots]=mot;
            nb_mots ++;
        }
        i++;
    }
    tab_enr[nb_mots]='/n';
    return tab_enr;         
 
}
Voici les messages obtenus à la compilation :

gcc -W createRecord.c -o createRecord
createRecord.c:8:26: createRecord.h: No such file or directory
createRecord.c: In function `createRecord':
createRecord.c:60: warning: passing arg 2 of `strcat' makes pointer from integer without a cast
createRecord.c:63: warning: assignment makes integer from pointer without a cast
createRecord.c:68:19: warning: multi-character character constant
createRecord.c:68: warning: overflow in implicit constant conversion
createRecord.c:69: warning: function returns address of local variable
Je comprends pas... Certes ce ne sont "que" des warnings mais c inquiétant vu leur nature !

Pouvez-vous m'aider ?
Pourquoi les pointeurs de char ne sont ils pas acceptés comme cela devrait l'^etre au vu du man des fonctions utilisees.

Merci d'avance.