begin process at 2012 02 10 21:43:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

problème de chaine de caractères (débutant)


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

problème de chaine de caractères (débutant)

dimanche 28 août 2005 à 14:08:07 | problème de chaine de caractères (débutant)

graall

salut à tous,
j'ai un gros problème avec ce code :
(le problème est expliqué dans les commentaires)

    FILE *pReference = fopen(reference_path, "r"); // ouvre un fichier contenant le texte "abcdef"

    char beginning[0];
    for(int i=0;i<include_position;i++) // ici, include_position vaut 2
    {
        beginning[i] = getc(pReference);
        std::cout << beginning[i] << std::endl;
    }

    char end[0];
    for(int j=0;j<(reference_nb_char-include_position);j++) // reference_nb_char est égal au nombre de caractère dans le fichier
    {
        end[j] = getc(pReference);
        std::cout << end[j] << std::endl;
    }

    std::cout << "\n" << beginning; // affiche "ab"
    std::cout << " - ";
    std::cout << end << std::endl; // devrait afficher "cdef" mais affiche "cdefj" et 3 autres caractères bizarres
    std::cout << strlen(beginning); // affiche 2
    std::cout << " - ";
    std::cout << strlen(end) << std::endl; // devrait afficher 4 mais affiche 8


Je suis débutant et mon code est surrement bourré de fautes...
dimanche 28 août 2005 à 14:15:06 | Re : problème de chaine de caractères (débutant)

BruNews

Administrateur CodeS-SourceS
char beginning[0];
ZERO octet de buffer !!!

ciao...
BruNews, MVP VC++
dimanche 28 août 2005 à 14:32:22 | Re : problème de chaine de caractères (débutant)

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Tu essaye d'écrire dans des colonnes de tableaux non allouées ! Utilise un malloc par exemple pour allouer assez de place pour ton tableau, et utilise des pointeurs au lieu d'un tableau statique.

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
dimanche 28 août 2005 à 15:24:19 | Re : problème de chaine de caractères (débutant)

graall

voila, j'ai corrigé un peu mon code mais ca ne marche toujours pas :(

    FILE *pReference = fopen(reference_path, "r");
    char *beginning;
    beginning = new char(include_position);
    for(int i=0;i<include_position;i++)
    {
        beginning[i] = getc(pReference);
    }
    char *end;
    end = new char(reference_nb_char-include_position);
    for(int j=0;j<(reference_nb_char-include_position);j++)
    {
        end[j] = getc(pReference);
    }
    std::cout << beginning;
    std::cout << " - ";
    std::cout << end << std::endl;
    std::cout << strlen(beginning) << " - " << strlen(end) << std::endl;
dimanche 28 août 2005 à 15:43:53 | Re : problème de chaine de caractères (débutant)

BruNews

Administrateur CodeS-SourceS
Quand tu te mets devant un bouquin de C++ ??? tu n'es pas dans un langage interprété où on peut y aller par tatonnenment, le minimum est au moins d'apprendre la syntaxe, exemple ton 'new' avec des () au lieu de [], etc...

ciao...
BruNews, MVP VC++
dimanche 28 août 2005 à 16:27:51 | Re : problème de chaine de caractères (débutant)

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Aïe ! Il faut utiliser New[] pour créer un tableau et non New qui alloue de l'espace pour une simple variable !

De même, ne pas oublier de désallouer la mémoire utilisée après utilisation si tu ne veux pas avoir une fuite mémoire !

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
dimanche 28 août 2005 à 16:51:52 | Re : problème de chaine de caractères (débutant)

graall

désolé pour les parenthèses, c'était juste une faute de frappe

voila le code revu et corrigé :

    FILE *pReference = fopen(reference_path, "r");
    char *beginning;
    beginning = new char[include_position];
    for(int i=0;i<include_position;i++)
    {
        beginning[i] = getc(pReference);
    }
    char *end;
    end = new char[reference_nb_char-include_position];
    for(int j=0;j<(reference_nb_char-include_position);j++)
    {
        end[j] = getc(pReference);
    }
    std::cout << beginning;
    std::cout << " - ";
    std::cout << end << std::endl;
    std::cout << strlen(beginning) << " - " << strlen(end) << std::endl;



Cette discussion est classée dans : problème, débutant, cout, std, preference


Répondre à ce message

Sujets en rapport avec ce message

problème de "cout" [ par infinity7780 ] Bonjour,J'ai acheté et j'ai lu plusieurs chose sur le C++.Mais comme je débute, je doit surement me trompé.Alors voici ma question. est-ce normal que Probleme avec If et else [ par violatorstrain2 ] Bonjours a tous voici un bout de code d'un convertisseur hexadecimal, octal, et decimal :#include<font color="#a Problème avec mes floatant [ par raviel ] Bonjour Je vous expose mon problème l'utilisateur peut rentrer 2 floatant (a et b) et additionnant les 2 pour former le résultat (c) et je souhaite e no match for 'operator>>' in 'std::cin >> [ par cissine ] Bonjour, Mon problème est le suivant : lors ce que je compile mon programme C++ sous codeblocks ou visual c++ 2008 express j'ai cette erreur là: In soucis avec une classe CChaine [ par coolD ] Qui va lentement va plus loinCoolDBonjour à tous, je dois implémenter pour un exercice de classe une classe de chaine de carcatères. L'utilisateur doi Problème de débutant en C [ par ArcHeretic ] Bonjour,Alors voila j'aimerais juste savoir ce qu'il cloche dans mon bout de code :#include #include using namespace std; surcharge stream operator [ par Joan_Andre ] Bonjour,Quelqu un pourrait il m expliquer la raison pour laquelle le code ci dessous ne fonctionne pas (je ne parviens pas a faire "entrer" le std::en [dev c++ / SFML] compilation OK mais exécutables muets o_O [ par dubstructor ] Bonsoir à tous, ce post s'adresse à ceux qui sont familiers avec SFML. voilà après m'être bataillé un après midi, j'ai enfin réussi à compiler une p problème sur une création de classe [ par simonpelloquin ] Bonjour, Je bloque sur un problème de définition de classe et ça commence à me prendre la tête. Est-ce que vous pourriez m'indiquer ce qui ne vas pas


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 0,796 sec (3)

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