Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Chaine de caracteres et pointeurs

6 réponses
Avatar
Eric
Bonjour,

J'ai réalise une fonction dont le prototype est le suivant:
int fonction(char *file)

Et je fait un appel comme ceci:
int value = NULL;
char data[] = "open c:/file";
value = fonction(&date[5]); //en fait je veux juste avoir "c:/file" comme
argument, c la le pb je crois


Et le compilo me renvoit
c:\Documents and Settings\Eric\Mes documents\Projets Visual
Studio\L'aeroport Magique\L'Aeroport Magique\L'Aeroport Magique\main.c(130):
error C2197: 'readfile' : nombre de paramètres réels trop important
c:\Documents and Settings\Eric\Mes documents\Projets Visual
Studio\L'aeroport Magique\L'Aeroport Magique\L'Aeroport Magique\main.c(130):
error C2692: 'readfile' : fonctions entièrement prototypées requises dans le
compilateur C avec l'option '/clr'

Bref que faire

6 réponses

Avatar
Jean-Marc
"Eric" a écrit dans le message de
news:bqvo7m$o71$
Bonjour,

J'ai réalise une fonction dont le prototype est le suivant:
int fonction(char *file)

Et je fait un appel comme ceci:
int value = NULL;
char data[] = "open c:/file";
value = fonction(&date[5]); //en fait je veux juste avoir "c:/file" comme


Simple faute de frappe entre date (E) et data (A)

argument, c la le pb je crois


Et le compilo me renvoit
c:Documents and SettingsEricMes documentsProjets Visual
StudioL'aeroport MagiqueL'Aeroport MagiqueL'Aeroport
Magiquemain.c(130):

error C2197: 'readfile' : nombre de paramètres réels trop important
c:Documents and SettingsEricMes documentsProjets Visual
StudioL'aeroport MagiqueL'Aeroport MagiqueL'Aeroport
Magiquemain.c(130):

error C2692: 'readfile' : fonctions entièrement prototypées requises dans
le

compilateur C avec l'option '/clr'

Bref que faire





Avatar
Manu
Jean-Marc wrote:
"Eric" a écrit dans le message de
news:bqvo7m$o71$

Bonjour,

J'ai réalise une fonction dont le prototype est le suivant:
int fonction(char *file)

Et je fait un appel comme ceci:
int value = NULL;
char data[] = "open c:/file";
value = fonction(&date[5]); //en fait je veux juste avoir "c:/file" comme



Simple faute de frappe entre date (E) et data (A)



Problème de const aussi je pense.
Le 'char data[]' est vu comme 'const char *' et peut générer un warning
ou une erreur à la compilation lorsque qu'on essaie de le passer à la
fonction.


Avatar
Éric Lévénez
Le 7/12/03 18:32, dans <bqvo7m$o71$, « Eric »
a écrit :

Bonjour,

J'ai réalise une fonction dont le prototype est le suivant:
int fonction(char *file)

Et je fait un appel comme ceci:
int value = NULL;


Il serait plus correcte de faire :

int value = 0;

NULL est réservé pour initialiser les pointeurs.

char data[] = "open c:/file";


Ce n'est pas à la place de / ? Windows adopte posix ? :-)

value = fonction(&date[5]);


1) C'est data pas date, alors tout peut arriver.
2) &data[5] est la même chose que data+5, mais c'est plus que pas joli. Un
jour tu remplaceras "open" par un "open2" et plus rien ne marchera.


Et le compilo me renvoit
c:Documents and SettingsEricMes documentsProjets Visual
StudioL'aeroport MagiqueL'Aeroport MagiqueL'Aeroport Magiquemain.c(130):
error C2197: 'readfile' : nombre de paramètres réels trop important


Aucune idée ce qu'est "readfile" surtout que la ligne 130, on ne la connaît
pas.

c:Documents and SettingsEricMes documentsProjets Visual
StudioL'aeroport MagiqueL'Aeroport MagiqueL'Aeroport Magiquemain.c(130):
error C2692: 'readfile' : fonctions entièrement prototypées requises dans le
compilateur C avec l'option '/clr'


Idem.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
Bruno Desthuilliers
Eric wrote:
Bonjour,

J'ai réalise une fonction dont le prototype est le suivant:
int fonction(char *file)

Et je fait un appel comme ceci:
int value = NULL;
char data[] = "open c:/file";
value = fonction(&date[5]); //en fait je veux juste avoir "c:/file" comme
argument, c la le pb je crois


Et le compilo me renvoit
c:Documents and SettingsEricMes documentsProjets Visual
StudioL'aeroport MagiqueL'Aeroport MagiqueL'Aeroport Magiquemain.c(130):
error C2197: 'readfile' : nombre de paramètres réels trop important
c:Documents and SettingsEricMes documentsProjets Visual
StudioL'aeroport MagiqueL'Aeroport MagiqueL'Aeroport Magiquemain.c(130):
error C2692: 'readfile' : fonctions entièrement prototypées requises dans le
compilateur C avec l'option '/clr'

Bref que faire


A lire la seconde erreur, il me semble que la première chose à faire

serait d'avoir une déclaration de la fonction (qui s'appelle 'readfile'
si je ne m'abuse) *avant* son utilisation (il n'est d'ailleurs pas
impossible que cela règle le premier message d'erreur au passage).

Bruno

Avatar
Emmanuel Delahaye
In 'fr.comp.lang.c', "Eric" wrote:

Bonjour,

J'ai réalise une fonction dont le prototype est le suivant:
int fonction(char *file)

Et je fait un appel comme ceci:
int value = NULL;
char data[] = "open c:/file";
value = fonction(&date[5]); //en fait je veux juste avoir "c:/file"
comme argument, c la le pb je crois


Ce code est correct, mais il serait plus simple d'écrire :

value = fonction (date + 5);

Mais ce n'est pas le problème soulevé par ton compilateur. Il semble
plutôt concerner la fonction 'readfile()'.

Et le compilo me renvoit
<...>main.c(130): error C2197: 'readfile' : nombre de paramètres
réels trop important


Quel est le prototype de la fonction non-standard 'readfile()', et comment
est-elle utilisée ?

c:Documents and SettingsEricMes
<...>main.c(130): error C2692: 'readfile' :
fonctions entièrement prototypées requises dans le compilateur C avec
l'option '/clr'


On ne peut pas être plus clair. Il /faut/ un prototype pour 'readfile()'.

--
-ed- [remove YOURBRA before answering me]
The C-language FAQ: http://www.eskimo.com/~scs/C-faq/top.html
C-reference: http://www.dinkumware.com/manuals/reader.aspx?lib=cpp
FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/

Avatar
Emmanuel Delahaye
In 'fr.comp.lang.c', Manu wrote:

int fonction(char *file)

char data[] = "open c:/file";



Problème de const aussi je pense.
Le 'char data[]' est vu comme 'const char *'


Certainement pas.

--
-ed- [remove YOURBRA before answering me]
The C-language FAQ: http://www.eskimo.com/~scs/C-faq/top.html
C-reference: http://www.dinkumware.com/manuals/reader.aspx?lib=cpp
FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/