begin process at 2010 02 10 04:52:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

makes pointer from integer without a cast . . .


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

makes pointer from integer without a cast . . .

mardi 14 avril 2009 à 16:38:04 | makes pointer from integer without a cast . . .

Crocandrew

Bien le bonjour,

je suis en train de réaliser mon projet de fin d'anée en C, et j'ai un petit probème en ce qui concerne la fonction strcpy !!

A chaque fois que je l'utilise j'ai des messages d'erreurs dans le genre : makes pointer from integer without a cast ...

J'ai essayé de faire un malloc, un realloc mais ça ne vas pas... ou du moins je fais la mauvaise manip...
c'est vraiement un bête truc et ça commence a m'énerver.

Merci d'avance









mardi 14 avril 2009 à 17:03:23 | Re : makes pointer from integer without a cast . . .

buno

Hello,
Peux-tu nous montrer ton utilisation de strcpy(), stp?

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mardi 14 avril 2009 à 21:40:05 | Re : makes pointer from integer without a cast . . .

Crocandrew

Réponse acceptée !


Voila merci d'avance.

C'est dans le cadre d'une ouverture de fichier.
Je tente de récupérer une série de noms de maison d'édition puis de les mettres dans un tableau.
mon fichier txt est sous cette forme : 
         blabla#blabla#blalvla#etc

code:


fichier = fopen("bdd.txt", "r");

    if (fichier != NULL)
    {
        // Boucle de lecture des caractères un à un
        do
        {
            if( caractereActuel != '#')
// # est le caractère qui sépare mes noms d'éitions
{
                caractereActuel = fgetc(fichier);
// On lit le caractère
                strcpy(mot,caractereActuel);// on le copie dans mot
            }
            else{ 

                strcpy(TabMaisonEdit[cptEdition].nomEdition,mot);
  //On copie le mot COMPLET dans le tableau
                strcpy("",mot);// la chaine de caractère mot est formatée
                caractereActuel = fgetc(fichier); // on avance d'un caractère pour ne pas rester sur le #
                cptEdition++;// on augmente d'une édition, pour avancer dans le tableau
            }

        } while (caractereActuel != EOF); // On continue tant que fgetc n'a pas retourné EOF (fin de fichier)

        fclose(fichier); 
 }




j'espère que c'est lisible.


merci

mercredi 15 avril 2009 à 09:43:13 | Re : makes pointer from integer without a cast . . .

buno

Réponse acceptée !
3 choses:
- strcpy() prend en paramètres 2 chaines de caractères: la 1ere c'est la destination, la 2e, c'est la source
- strpcy("",mot): suivant ce que je viens d'écrire, tu dois comprendre le souci de cette écriture, non? tu as inversé les 2 paramètres
- enfin, strcpy "écrase" la chaine de destination. Ce que tu voudrait faire serait plutôt une concaténation, non? Dans ce cas, strcat()

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mercredi 15 avril 2009 à 11:02:24 | Re : makes pointer from integer without a cast . . .

Crocandrew

AAh oui juste merci !   

Mais j'ai toujours ce warning la , pous la ligne que j'ai mise en rouge :

passing arg 2 of 'strcat' makes pointer from integer withut a cast ...

je t'ai remis le code à partir de mes déclarations de variables ; 

FILE* fichier = NULL ;
char caractereActuel ;

fichier = fopen("bdd.txt", "r");

    if (fichier != NULL)
    {
        // Boucle de lecture des caractères un à un
        do
        {
            if( caractereActuel != '#')
// # est le caractère qui sépare mes noms d'éitions
{
                caractereActuel = fgetc(fichier);
// On lit le caractère
                strcat(mot,caractereActuel);// on le copie dans mot
            }
            else{ 

                strcpy(TabMaisonEdit[cptEdition].nomEdition,mot);
  //On copie le mot COMPLET dans le tableau
                strcpy("",mot);// la chaine de caractère mot est formatée
                caractereActuel = fgetc(fichier); // on avance d'un caractère pour ne pas rester sur le #
                cptEdition++;// on augmente d'une édition, pour avancer dans le tableau
            }

        } while (caractereActuel != EOF);// On continue tant que fgetc n'a pas retourné EOF (fin de fichier)

        fclose(fichier); 
 }






merci de ton aide.

mercredi 15 avril 2009 à 11:05:08 | Re : makes pointer from integer without a cast . . .

Crocandrew

Réponse acceptée !

AAh oui juste merci !   

Mais j'ai toujours ce warning la , pous la ligne que j'ai mise en rouge :

passing arg 2 of 'strcat' makes pointer from integer withut a cast ...

je t'ai remis le code à partir de mes déclarations de variables ; 

FILE* fichier = NULL ;
char caractereActuel ;

fichier = fopen("bdd.txt", "r");

    if (fichier != NULL)
    {

        do
        {
            if( caractereActuel != '#')

{
                caractereActuel = fgetc(fichier);

                strcat(mot,caractereActuel);            }
            else{ 

                strcpy(TabMaisonEdit[cptEdition].nomEdition,mot);
                strcpy("",mot);
                
caractereActuel = fgetc(fichier); 
                cptEdition++;
            }

        } while (caractereActuel != EOF);

        fclose(fichier); 
 }






merci de ton aide.

Crocandrew ;)

mercredi 15 avril 2009 à 11:19:49 | Re : makes pointer from integer without a cast . . .

buno

Réponse acceptée !
Oui, même remarque qu'avec strcpy: strcat prend en paramètre 2 chaines de caractères, et non une chaine et un caractère

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mercredi 15 avril 2009 à 12:57:26 | Re : makes pointer from integer without a cast . . .

Crocandrew

Réponse acceptée !

Ok ok j'ai changé ma manière de faire, je n'ai plus d'erreur de compil mais le résultat est pas terrble.Quand j'affiche ma variable mot il y a bien le mot voulu, mais a la suite il ya par exemple: motvoulu/>:-w

ça donne ça ;

    fichier = fopen("bdd.txt", "r");
    caractereActuel= fgetc(fichier); 
    int position = 0 ;

    if (fichier != NULL)
    {
        while (caractereActuel != EOF){ 

            if( caractereActuel != '#' ){
                mot[position] = caractereActuel ;
                position++;
                caractereActuel= fgetc(fichier);

            }
            else{
                mot[position]="\0";
                printf("\n%s",mot);
                strcpy(TabMaisonEdit[cptEdition].nomEdition,mot); 
                strcpy(mot,""); 
                caractereActuel = fgetc(fichier);
                position=0;
                cptEdition++; 
            }

        }
        fclose(fichier);
    }


mercredi 15 avril 2009 à 14:08:03 | Re : makes pointer from integer without a cast . . .

buno

Réponse acceptée !
mot[position]="\0";
à remplacer par: mot[position]='\0'; // simple cote

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mercredi 15 avril 2009 à 14:28:22 | Re : makes pointer from integer without a cast . . .

Crocandrew

Réponse acceptée !

Un grand merci à toi Buno
 
ça fonctionne nickel . 


Bonne journée et encore merci  



Cette discussion est classée dans : from, integer, pointer, without, makes


Répondre à ce message

Sujets en rapport avec ce message

integer des images dans le EXE [ par pipo ] qq un sait il comment inserer dans bitmap dans l'exe final (winapi) ! un peu comme en MCF ! integer des images dans le EXE [ par pipo ] qq un sait il comment inserer dans bitmap dans l'exe final (winapi) ! un peu comme en MCF ! integer des images dans le EXE [ par pipo ] qq un sait il comment inserer dans bitmap dans l'exe final (winapi) ! un peu comme en MCF ! Soucis en C [ par chicoced ] Salut, j'ai un soucis au niveau longueur d'integer:Je souhaiterai pouvoir adapter la longueur d'un integer a ma guize de manière à faire de la concate toujours lire fichier, je vais mourir acause de ça !!!! [ par khalidlyon ] Ensemble pour la scienceBonjour, suite a ma question "lire fichier au secours, et suite a votre réponses, voila ce que j'ai fais.--------------------- Pointer directement vers la memoire video (probleme de cast) [ par Darkneon ] Salut, J'essais de declarer mon pointeur vers la memoire video comme suitchar *screen = (char *)0xA0000000L;mais ca me donne le message d'erreur suiv Timers haute précision [ par SMarmotte ] Bonjour à tousJe cherche à attendre EXACTEMENT 60 micro secondes.J'ai fait cette routine mais elle me bouffe 50% du temps CPU du fait que je dois l'ap lire un integer [ par leblond007 ] Comment lire un integer dans un fichier texte en C et ensuite le mettre dans une variable de type integer ???? pb de conversion float => integer [ par Ricool ] SalutVoila j'ai un probleme pr convertir un float en integeret je ne vois pas trop comment faire vu ke c possible en bit à bit comme le fait le langag


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,513 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales