begin process at 2012 05 28 16:01:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

char* -> string


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

char* -> string

jeudi 21 août 2003 à 19:48:59 | char* -> string

oRTEEZ

Voila tout est dans le sujet.

En fait j'ai un nom de fichier dans un buffer et j'aimerai ajouter des caractere au nom.

ex: *buffer = "voila.jpg"
apres transformation j'aimerai bien avoir
*buffer = "voila-copie.jpg"

La je doit etre fatigue parce que j'y arrive pas trop.

MERkI
jeudi 21 août 2003 à 20:54:30 | Re : char* -> string

guiguikun

strcat(buffer,"-copie.jpg\0");



-------------------------------
Réponse au message :
-------------------------------

> Voila tout est dans le sujet.
>
> En fait j'ai un nom de fichier dans un buffer et j'aimerai ajouter des caractere au nom.
>
> ex: *buffer = "voila.jpg"
> apres transformation j'aimerai bien avoir
> *buffer = "voila-copie.jpg"
>
> La je doit etre fatigue parce que j'y arrive pas trop.
>
> MERkI
jeudi 21 août 2003 à 20:56:49 | Re : char* -> string

oRTEEZ



oui mais en faisant cela je recupere

voila.jpg-copie.jpg.
c'est pour cela que je voudrais le passer en String
a mon que je parcour mon buffer...

-------------------------------
Réponse au message :
-------------------------------

> strcat(buffer,"-copie.jpg\0");
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Voila tout est dans le sujet.
> >
> > En fait j'ai un nom de fichier dans un buffer et j'aimerai ajouter des caractere au nom.
> >
> > ex: *buffer = "voila.jpg"
> > apres transformation j'aimerai bien avoir
> > *buffer = "voila-copie.jpg"
> >
> > La je doit etre fatigue parce que j'y arrive pas trop.
> >
> > MERkI
>
jeudi 21 août 2003 à 21:07:51 | Re : char* -> string

anthraxx

eh bien C simple: il faut préparer un tampon adapté a la taille de ta chaine apres transformation, puis tu utilises les fonctions strcpy() et strcat()

char *source="c:\\winnt\\";
char buffer[80];
strcpy(buffer,source);
strcat(buffer,"winmine.exe");

puts(buffer);
//imprime 'c:\winnt\winmine.exe' (en mode console)


bon dans ton cas comme c'est pas a la fin de la chaine il faudra que tu copies une premiere partie de la source, jusqu'au point, puis tu strcat ton "-copie" et enfin le reste de la chaine originale. Pour connaitre la position du premier point tu utilises strchr()

sinon dans ton cas, je te conseille une superbe page de MSDN appelée "String Manipulation Routines". Si t'as la librairie, je te conseille d'aller voir, ya meme des exemples.

j'espere t'avoir aidé, salut
jeudi 21 août 2003 à 21:46:51 | Re : char* -> string

guiguikun

Ouch, ton compilateur accepte ca ?



-------------------------------
Réponse au message :
-------------------------------

> eh bien C simple: il faut préparer un tampon adapté a la taille de ta chaine apres transformation, puis tu utilises les fonctions strcpy() et strcat()
>
> char *source="c:\\winnt\\";
> char buffer[80];
> strcpy(buffer,source);
> strcat(buffer,"winmine.exe");
>
> puts(buffer);
> //imprime 'c:\winnt\winmine.exe' (en mode console)

>
> bon dans ton cas comme c'est pas a la fin de la chaine il faudra que tu copies une premiere partie de la source, jusqu'au point, puis tu strcat ton "-copie" et enfin le reste de la chaine originale. Pour connaitre la position du premier point tu utilises strchr()
>
> sinon dans ton cas, je te conseille une superbe page de MSDN appelée "String Manipulation Routines". Si t'as la librairie, je te conseille d'aller voir, ya meme des exemples.
>
> j'espere t'avoir aidé, salut
jeudi 21 août 2003 à 21:50:30 | Re : char* -> string

guiguikun

disons que *buffer = "voila.jpg"

char *newbuf = new char[ strlen(buffer)+strlen("-copie")+1 ];

strncpy(newbuf,buffer,5);
strcat(newbuf,"-copie.jpg\0");

delete buffer;
cout<<"nom du fichier :"<<newbuf<<endl;


-------------------------------
Réponse au message :
-------------------------------

>
>
> oui mais en faisant cela je recupere
>
> voila.jpg-copie.jpg.
> c'est pour cela que je voudrais le passer en String
> a mon que je parcour mon buffer...
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > strcat(buffer,"-copie.jpg\0");
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Voila tout est dans le sujet.
> > >
> > > En fait j'ai un nom de fichier dans un buffer et j'aimerai ajouter des caractere au nom.
> > >
> > > ex: *buffer = "voila.jpg"
> > > apres transformation j'aimerai bien avoir
> > > *buffer = "voila-copie.jpg"
> > >
> > > La je doit etre fatigue parce que j'y arrive pas trop.
> > >
> > > MERkI
> >
>
jeudi 21 août 2003 à 23:59:48 | Re : char* -> string

Kaid

Sur cette ligne:


strcat(newbuf,"-copie.jpg\0");


Pourquoi tu rajoutes un zéro final à une chaine qui en posséde déjà un ? strcat() s'arrête de toute façon au premier zéro final rencontré et si ce n'était pas le cas ton code ferait un buffer overflow.

Kaid - kaid.fr.st

-------------------------------
Réponse au message :
-------------------------------

> disons que *buffer = "voila.jpg"
>
> char *newbuf = new char[ strlen(buffer)+strlen("-copie")+1 ];
>
> strncpy(newbuf,buffer,5);
> strcat(newbuf,"-copie.jpg\0");
>
> delete buffer;
> cout<<"nom du fichier :"<<newbuf<<endl;
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> >
> > oui mais en faisant cela je recupere
> >
> > voila.jpg-copie.jpg.
> > c'est pour cela que je voudrais le passer en String
> > a mon que je parcour mon buffer...
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > strcat(buffer,"-copie.jpg\0");
> > >
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Voila tout est dans le sujet.
> > > >
> > > > En fait j'ai un nom de fichier dans un buffer et j'aimerai ajouter des caractere au nom.
> > > >
> > > > ex: *buffer = "voila.jpg"
> > > > apres transformation j'aimerai bien avoir
> > > > *buffer = "voila-copie.jpg"
> > > >
> > > > La je doit etre fatigue parce que j'y arrive pas trop.
> > > >
> > > > MERkI
> > >
> >
>


Cette discussion est classée dans : buffer, string, char, jpg


Répondre à ce message

Sujets en rapport avec ce message

trouver un char dasn une string et le convertir... [ par Spiffou ] bonjour à tous, je suis bloqué sur un problème de C++ avec les strings et les vectors. j'ai un vector contenant des std::string, et je souhaiterais e conversion string et char, probleme [ par flowneo ] Bonjour, soit le code suivant, qui convertit une chaine string en char: #include #include #include using namespace std; int main (){ string com Problème pour stoker une string dans un char* [ par Faroww ] Salut, Alors voici mon problème j'utilise une OpenFileDialog (Parcourir)pour permette a l'utilisateur de choisir un fichier. Je récupéré le patch du Evaluation d'une expression char* ou string [ par tsonamir ] Je suis appelé à faire un tableur dont chaque cellule contient une formule de type string ou char*,où les seuls opérateurs trouvés sont + - * / ( ) [ probleme avec une chaine de caractere [ par joben22 ] Bonsoir, j'ai un petit soucis avec une fonction que j'essaie de coder. En fait, je lis le contenue d'un fichier, le place dans un char* et la j'aimer Serialiser une std::map (sans utiliser Boost) [ par tom24 ] Bonjour,voila pour un projet, je dois sérialiser en binaire des objets. Mes objets comprennent des string, mais aussi une map, et je ne sais pas vraim Problème avec taille chaine de caractères variable [ par graphtyrael ] Bonjour à tous !Je cherche à créer une chaine de caractère de taille variable qui s'agrandit au fur et à mesure que je rentre des caractères. J'ai don Probleme de Malloc sur un char ** [ par tomy46 ] Bonjour a tous, Avant tout, désole pour les accents (sauf ceux repris par la correction orthographique) mais je suis sur qwerty ... Bon voici mon pr char [10] dans char [16][10] [ par Stutu ] Bonjour à tous, Je m'explique j'ai un char buffer[10] que je voudrais mettre dans un char temp[16][10] car je vais devoir mettre 16 fois buffer[10] d


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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,934 sec (4)

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