Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème de pointeur : erreur non-lvalue in assignment [ Divers / Débutant(e) ] (AmStErDaMnEd)

jeudi 9 octobre 2008 à 09:59:04 | Problème de pointeur : erreur non-lvalue in assignment

AmStErDaMnEd

Bonjour,
    j'ai récupéré un bon de code pour pouvoir splitter une chaine. Cela fonctionne sans pointeur. Cependant, j'ai besoin de récupérer un char* et non un tableau pour le paramètre d'une fonction API.

Voici le code:
    int i,j=0;
    string files; // fichier test
    string rep;
   
    files = "\\\\...\\...\\action_00062_0.mov#C:\\action_02969_0.mov";
    //files = argv[1];
   
    //--------------------------------------------------------------  
    //  Calcul de la mémoire totale utilisée par tous les processus 
    //-------------------------------------------------------------- 
    if(function_get_mem_use() < MAX_MEMORY)
    {
        //--------------------------------------------------------------  
        //  Récupération de tous les fichiers (insertion dans tableau) 
        //--------------------------------------------------------------
        // Déclaration des variables
        istringstream tabNewType(files);
       
        const char* tab; // Car function_verif_file_exist veut un const char*
        tab = (const char*)malloc(2);
        string mot; // Car getline veut un string
       
        while (getline(tabNewType, mot,'#'))// On parcours tte la chaine tabNewType avec le séparateur #, et on met le résultat dans mot
        {
            tab+j = mot.c_str(); // Convertit un string en char*
            j++;
        }
        cout<<tab+1<<endl<<tab+2<<endl;
   
        //---------------------------------------------------------------------------------------------  
        //  Tâche a effectué suivant ce qu'a demandé l'utilisateur
        //  (vérification de la présence de fichiers, suppression de fichiers, déplacement de fichiers 
        //---------------------------------------------------------------------------------------------  
        //if(argv[2]=="verif_file_existe")
        //{   
            //for(i = 0; i < argv[1].length; i++) // Pour tous les fichiers
            //{
                    function_verif_file_exists(tab+1) ? rep = "Fichier existant\n" : rep = "Fichier inexistant\n";


     C'est donc la ligne en rouge qui me retourne l'erreur. Si je fait tab[j] et que je déclare tab en tant que const char* tab[2], cela fonctionne mais tab[1] et tab[2] lors de l'affichage, vaut toujours le second fichier (
C:\\action_02969_0.mov).
    Quelqu'un aurait une idée ? Merci d'avance.

jeudi 9 octobre 2008 à 10:18:40 | Re : Problème de pointeur : erreur non-lvalue in assignment

AmStErDaMnEd

Bon bah j'ai finit par trouvé avec le tableau, j'ai un peu honte (c'est tab[0] et tab[1] et non tab[1] et tab[20]).
Cependant, je ne comprend toujours pas pour les pointeurs.

jeudi 9 octobre 2008 à 10:27:55 | Re : Problème de pointeur : erreur non-lvalue in assignment

laurent1024

Bonjour.
Tu as déja un problème lors de ta "conversion"de tableau en pointeur.
const char* tab[2];
<=>
const char ** tab;
tab = (char **) malloc(2* sizeof(char *));

et au niveau de l'affectation il faudrait, (sauf erreur de ma part ;) )
un *(tab+j) = ...

jeudi 9 octobre 2008 à 10:40:55 | Re : Problème de pointeur : erreur non-lvalue in assignment

AmStErDaMnEd

Merci Laurent de ton aide, cela fonctionne maintenant



Cette discussion est classé dans : fichier, string, tab, char, files


Répondre à ce message

Sujets en rapport avec ce message

Problème avec quick sort avec des chaines de caractères [ par bakka72 ] Bonjour,Je dois réalisé un quick sort de chaines et jai u souci .1er. je parcourt kle fichier a trié pour compter le nombre délément 2eme je crée un t convertir String to char [ par drcmomo ] Bonjour tout le monde!!!ce bout de programme me permet de rajouter un 0 devant jour et mois si ces derniers compris entre 0 et 9j'aimerais pourvoir re Ordre dans les déclarations de variables ??! [ par vincemail ] Bonjour à tous, je suis en train de faire un programme en C++ avec devC++, et je viens de trouver un bug que je n'arrive pas à comprendre, je veux sto Erreur de compilation [ par drcmomo ] kelk1 peux m'aider stp                     if ((Fichier::journeeEtudiee.getJour())                     {                         jour=String::Concat(" Arbre Binaire. Probleme de concatenation [ par YnOThAr ] Bonjour tout le monde ! La fin de l'année arrive et avec elle vient la fin des projets...généralement inachevés. En ce moment je travail sur la compre Pb fichier en C [ par lenneth666 ] alors voilà j'aimerais récupérer les lignes d'un fichier pour les mettre dans un char **pour ensuite trier les lignes de ce fichier. Dc je récupere d Lecture d'un fichier [ par Darkvlador ] luVoilà mon code : #include #include #include using namespace std;char *tmp;unsigned int size;<b conversion [ par anthonycosson ] bonjourbon voila je narrive pas a faire une chose qui parait tres simplej'aimerai mettre dans mon tableau de char la string en parametre si kelkun aur Problème avec "fclose" [ par Polack77 ] Bonjours, cas fais 2 heures que je cherche mon bug et je ne trouve pas! C'est frustrant!J'ai fais pas mal de test et je ne trouve rien.Je met donc mon ouvrire polusieurs fichiers [ par Stiko ] bonjour; je veux ouvrire plusieurs fichiers "toto1.txt","toto2.txt".."toto10.txt"pourcela j ai fait un tableau de string tab1[];et j ai essayé de met


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 1,451 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.