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 : Probleme de concatenuation [ Système / Autre ] (romainbisson)

vendredi 9 mai 2008 à 17:31:13 | Probleme de concatenuation

romainbisson

Bonjour,

j'ai ce probleme avec dev c++

invalid conversion from `char' to `const char*'   -- ligne 24  

#include <stdio.h>
#include <string.h>

    int main(int argc, char *argv[]){
       
    char* nf = argv[1];
    FILE *f;
    FILE *out;
    char buffer[100000];
    char c=0, i=0;
    char str[10];
  
    f=fopen(nf,"r");
    out = fopen("out.txt","w");
    if (f != NULL){
        // Boucle de lecture des caractères un à un
        do
        {  
            i++;
            c = fgetc(f); // On lit le caractère
           
            if((i > 62) && (i < 69)){
            fprintf(out,"%c", c); // On l'affiche
            strcat(str,c);
            }
            if(i > 157){
                 i=0;
                 fprintf(out,"\n");
                 }
            }
        while( c != EOF);
        fclose(f);
        fclose(out);
        return 0;
        }
}

je souhaite faire une concatenuation mais sa ne marche pas, et ensuite j'aimerais comparer cette chaine avec une chaine contenant un espace si c'est le cas je n'ecrire pas dans le fichier, En gros, je ne veux pas que le caractere que trouve le fgets soit un espace entre 62 et 69. c'est comprehensible ?

car le fichier ressemble a ça sinon:

035211
034666


054865
208400
088855

et je souhaite qui ressemble a sa


035211
034666
054865
208400
088855


vendredi 9 mai 2008 à 17:43:23 | Re : Probleme de concatenuation

DeAtHCrAsH

Une solution :
strcat(str, (char *)c);


Shell

vendredi 9 mai 2008 à 17:43:41 | Re : Probleme de concatenuation

Cyr62110

Pour concatener un caractére à une chaine :
int ibuf = strlen(str);
str[ibuf] = c;
str[ibuf+1] = '\0';
Voila pour ton probleme de concatenation.
Bye

vendredi 9 mai 2008 à 20:25:16 | Re : Probleme de concatenuation

SAKingdom

Membre Club
deathcrash >> Ben non. strcat demande une adresse. Cependant, là tu passes la valeur d'un caractère.

Normalement, pour écrire 1 caractères à la fois dans un buffer, on maintien un pointeur sur la fin de ce buffer.

Mais là, c'est la lecture caractère par caractère d'un fichier. C'est nulle coté performance
Utiliser fread à la place et lire par bloc. Ensuite, on effectue les traitements sur le buffer.

C++ (@++)




Cette discussion est classé dans : probleme, out, char, if, concatenuation


Répondre à ce message

Sujets en rapport avec ce message

Probleme GTK [ par Jo ] Salut,Quelqu'un pourrait me dire ou est l'erreur ?char * fichier; char *z;gchar *temp;temp = gtk_entry_get_text(GTK_ENTRY(Data));fd1= fopen((char *)te PROBLEME POINTEURS [ par zeloveur ] char * saisirChaine(){ int i=0; char *chn; chn=(char *)malloc(sizeof(char)); do { chn[i]=getchar(); chn=(char *)realloc(chn,(++i+1)*sizeof(char)); } manipulation de caractères [ par vanpet ] Bonjour à tous !Voici mon probleme (de debutant, mais faut bien commencer un jour)...j'ai 3 variables *char syllabe1 (2 et 3)qui contiennent chacune u Probleme complique sur pointeur mais reponse simple surement [ par MrKribou ] Un probleme de pointeur je pense.Je vous expose la situation :Dans une Classe (ClassEx) voila je fais un truc du genre :char* pChar = this->getInfo("i Pointeur et objet ET collection d'objet [ par MrKribou ] En fait je savais pas trop quoi mettre comme titre pour pas copier :pBon je vous explique mon probleme (j'ai pas le source de ce probleme sous la main Probleme de conversion [ par allo8086 ] Salut tous le mondeEnfet, je veux convertir une chaine de caratere lue a partir d'un fichier texte en unsigned char.A propos j'ai essayé de passer pa Probleme Socket C [ par VoLc0m ] voila mon pb :en C bien sur :) je dois, par socket, envoyer ca a une address (server counter strike) :The packet should start with 4 consecutive bytes probléme d'écriture fichier [ par phoenixadb ] phoenixadbJ'ai un problème sur une fonction que je n'arrive pas à résoudremon nom de fichier est test.txtet ma fonction:void ecriturefichier(char* nom probleme de *Char [] [ par oRTEEZ ] Bonjour, voila mon nouveau petit probleme.je pense pas que cela soit tres dur.J'ai un char Text[256] : contenant un texte entre par l'user.et unchar Probleme Comparaison deux chaines de caracteres [ par Coxis ] Salut,Bon c pas compliqué j'ai 2 tableaux de caracteres de tailles differentes, je veux les comparer mais ca marche pas...En fait a la base je voulais


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,530 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é.