Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1347 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Chaine de caractères

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Chaine de caractères

n°734372
bozocarzu
Posté le 22-05-2004 à 00:18:20  profilanswer
 

Je suis desesperement nul en C
 
Regardez ce code :
 

Code :
  1. char* test = (char*)malloc(10 * sizeof(char));
  2. for(int i = 0; i < 10; i++){
  3. *test = "a";
  4. test++;
  5. }


 
Erreur de compilaiotn : cannot convert from 'char [2]' to 'char'
 
Au secours   [:toad666]

mood
Publicité
Posté le 22-05-2004 à 00:18:20  profilanswer
 

n°734375
didier1809
${citation_perso}
Posté le 22-05-2004 à 00:19:49  profilanswer
 

bozocarzu a écrit :

Je suis desesperement nul en C
 
Regardez ce code :
 

Code :
  1. char* test = (char*)malloc(10 * sizeof(char));
  2. for(int i = 0; i < 10; i++){
  3. *test = "a";
  4. test++;
  5. }


 
Erreur de compilaiotn : cannot convert from 'char [2]' to 'char'
 
Au secours   [:toad666]


 
et en mettant *test = 'a'; ?
 
mais y doit avoir d'autres erreurs

n°734404
Taz
bisounours-codeur
Posté le 22-05-2004 à 00:33:01  profilanswer
 

le problème c'est que tu as perdu test ...
 
utilise ton indice test[i] = 'c'
 
ou memset
 
memset(test, 'c', n);

n°734409
bozocarzu
Posté le 22-05-2004 à 00:34:27  profilanswer
 

Taz a écrit :

le problème c'est que tu as perdu test ...
 
utilise ton indice test[i] = 'c'
 
ou memset
 
memset(test, 'c', n);


 
Comment ça j'ai perdu test ?

n°734421
bozocarzu
Posté le 22-05-2004 à 00:41:39  profilanswer
 

Code :
  1. char *num = (char*)malloc(10 * sizeof(char));
  2. for(int i = 0; i < 10; i++){
  3.  num[i] = 'a';
  4. }
  5. MessageBox(num);


 
Pourquoi en sortie j'ai : aaaaaaaaaaýýýý ?
 
J'ai bien mes 10 "a" mais j'ai trop de truc apres  :cry:  
 
Merci pour votre aide

n°734427
antp
Super Administrateur
Champion des excuses bidons
Posté le 22-05-2004 à 00:44:03  profilanswer
 

en C une chaîne se finit par un octet à zéro


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°734429
bozocarzu
Posté le 22-05-2004 à 00:46:05  profilanswer
 

Merci antp, j'avais oublié ce con de caractères nul

n°734436
Taz
bisounours-codeur
Posté le 22-05-2004 à 00:53:51  profilanswer
 

bozocarzu a écrit :

Comment ça j'ai perdu test ?

ben tu déplace test, tu as perdu le début de ta chaine, ce même pointeur qui te donne le début de ta zone mémoire et qui te servira à la désallouer

n°734449
bozocarzu
Posté le 22-05-2004 à 01:06:16  profilanswer
 

Taz a écrit :

ben tu déplace test, tu as perdu le début de ta chaine, ce même pointeur qui te donne le début de ta zone mémoire et qui te servira à la désallouer


 
Oui je le deplace, mais je sans toujours où il est !
 
En tous cas merci pour votre aide j'ai réussi à faire se que je voulais
 
Passer du php au c, ça fais mal !!! En php on fais n'importe quoi avec les tableau et les variables alors qu'en c, on a meme pas le droit a une petite erreur  :sweat:

n°734525
Joel F
Real men use unique_ptr
Posté le 22-05-2004 à 09:50:30  profilanswer
 

ben ouasi c'est ca un vrai langage de programamtion :o

mood
Publicité
Posté le 22-05-2004 à 09:50:30  profilanswer
 

n°734529
Taz
bisounours-codeur
Posté le 22-05-2004 à 10:31:42  profilanswer
 

ben vu tes compétences, si j'étais toi, je me ferais pas confiance

n°734541
Joel F
Real men use unique_ptr
Posté le 22-05-2004 à 10:54:28  profilanswer
 

Taz a écrit :

ben vu tes compétences, si j'étais toi, je me ferais pas confiance


 
Tu dis ca pour moi  :D  :whistle:

n°734618
skelter
Posté le 22-05-2004 à 13:00:52  profilanswer
 

a mon avis c'est plutot pour :
 

Citation :

Oui je le deplace, mais je sans toujours où il est !  

n°734649
gilou
Modérateur
Modzilla
Posté le 22-05-2004 à 13:41:40  profilanswer
 

J'avoue que je suis déçu:
Taz n'a meme pas sourcillé devant la ligne
char *num = (char*)malloc(10 * sizeof(char));  
 
Une grande lassitude??
A+,

n°734650
bozocarzu
Posté le 22-05-2004 à 13:45:15  profilanswer
 

Taz a écrit :

ben vu tes compétences, si j'étais toi, je me ferais pas confiance


 
Bas faut faire des erreurs pour apprendre ....

n°734652
skelter
Posté le 22-05-2004 à 13:47:03  profilanswer
 

Citation :

J'avoue que je suis déçu:  
Taz n'a meme pas sourcillé devant la ligne  
char *num = (char*)malloc(10 * sizeof(char));  
 
Une grande lassitude??


 
on voit ca partout et c'est enseigné partout, le genre de truc que t'aura jamais fini de repeter


Message édité par skelter le 22-05-2004 à 13:47:45
n°734656
bozocarzu
Posté le 22-05-2004 à 13:49:57  profilanswer
 

skelter a écrit :

Citation :

J'avoue que je suis déçu:  
Taz n'a meme pas sourcillé devant la ligne  
char *num = (char*)malloc(10 * sizeof(char));  
 
Une grande lassitude??


 
on voit ca partout et c'est enseigné partout, le genre de truc que t'aura jamais fini de repeter


 
Bas c'est quoi qui ne va pas dans cette ligne ?????
 
Je ne demande qu'a apprendre

n°734657
skelter
Posté le 22-05-2004 à 13:52:50  profilanswer
 

le cast est inutile, la conversion void* -> char* est impicite
 
char *num = malloc(10);  

n°734659
Taz
bisounours-codeur
Posté le 22-05-2004 à 13:54:13  profilanswer
 

et surtout, sizeof(char) == 1 par définition

n°734660
bozocarzu
Posté le 22-05-2004 à 13:54:45  profilanswer
 

skelter a écrit :

le cast est inutile, la conversion void* -> char* est impicite
 
char *num = malloc(10);


 
Va dire ça au compilateur toi : cannot convert from 'void *' to 'char *'

n°734664
bozocarzu
Posté le 22-05-2004 à 13:56:35  profilanswer
 

Taz a écrit :

et surtout, sizeof(char) == 1 par définition


 
Pour ça je suis d'accord que c'est inutile, mais c'est pas le cas pour tous les type, c'est pour ça que je met sizeof

n°734667
skelter
Posté le 22-05-2004 à 13:58:55  profilanswer
 

mais tu compile avec koi?

n°734669
bozocarzu
Posté le 22-05-2004 à 14:00:02  profilanswer
 

skelter a écrit :

mais tu compile avec koi?


vc++ 6

n°734670
gilou
Modérateur
Modzilla
Posté le 22-05-2004 à 14:00:12  profilanswer
 

bozocarzu a écrit :

Va dire ça au compilateur toi : cannot convert from 'void *' to 'char *'

Tu aurais donc un compilateur tellement vieux qu'il n'est pas ANSI compliant??
A+,

n°734671
skelter
Posté le 22-05-2004 à 14:00:18  profilanswer
 

compile en mode c

n°734672
gilou
Modérateur
Modzilla
Posté le 22-05-2004 à 14:01:13  profilanswer
 

avec tous les patchs??
A+,

n°734675
skelter
Posté le 22-05-2004 à 14:03:49  profilanswer
 

faut vivre avec son temps, vc++6 c'est vieux ==>vs2003

n°734677
bozocarzu
Posté le 22-05-2004 à 14:04:35  profilanswer
 

Avec aucun patch !  :D

n°734679
bozocarzu
Posté le 22-05-2004 à 14:05:35  profilanswer
 

skelter a écrit :

faut vivre avec son temps, vc++6 c'est vieux ==>vs2003


 
C'est sur, mais j'apprend, et vu mon super niveau en c je ne pense pas que sa change grand chose

n°734681
skelter
Posté le 22-05-2004 à 14:07:02  profilanswer
 

pour apprendre le mieux c'est devcpp, et c'est gratuit en plus

n°734683
bozocarzu
Posté le 22-05-2004 à 14:07:32  profilanswer
 

Pendant que vous êtes la :
 
J'ouvre un fichier texte en lecture :
 
FILE *client = fopen("client.txt","r" );
 
Comment je peut faire pour connaitre le nombre de caractères dans se fichier ?

n°734686
bozocarzu
Posté le 22-05-2004 à 14:08:17  profilanswer
 

skelter a écrit :

pour apprendre le mieux c'est devcpp, et c'est gratuit en plus


 
On peut faire du graphique simplement avec devcpp ?

n°734689
skelter
Posté le 22-05-2004 à 14:09:35  profilanswer
 

ca depend ce que tu entend par la, moi par exemple je fais de l'opengl avec devcpp sans avoir eu à installer d'autres bibliotheques que celles fournies par defaut


Message édité par skelter le 22-05-2004 à 14:10:02
n°734691
bozocarzu
Posté le 22-05-2004 à 14:11:56  profilanswer
 

Quand je dis simplement, c'est faire des champs de formulaire

n°734692
skelter
Posté le 22-05-2004 à 14:12:54  profilanswer
 

en win32, mais tu n'a pas de mfc avec devcpp

n°734694
bozocarzu
Posté le 22-05-2004 à 14:14:00  profilanswer
 

Enfin maintenant que j'ai commencer avec vc++ 6, je vais pas tous reprendre avec devcpp


Message édité par bozocarzu le 22-05-2004 à 14:14:12
n°734695
skelter
Posté le 22-05-2004 à 14:18:03  profilanswer
 

c'est toi qui voit, moi aussi avant j'etais sous vc++ 6...

n°734696
bozocarzu
Posté le 22-05-2004 à 14:21:09  profilanswer
 

lol
 
Sinon tu ne serais pas comment faire pour connaitre le nombre de caractères dans un fichier texte ?

n°734697
gilou
Modérateur
Modzilla
Posté le 22-05-2004 à 14:21:26  profilanswer
 

bozocarzu a écrit :

Avec aucun patch !  :D

va chercher le SP6, c'est gratuit. http://msdn.microsoft.com/visualc/ [...] fault.aspx
A+,

n°734698
skelter
Posté le 22-05-2004 à 14:25:25  profilanswer
 

bozocarzu a écrit :

lol
 
Sinon tu ne serais pas comment faire pour connaitre le nombre de caractères dans un fichier texte ?


 
le nombre de caractere c'est ca taille, tu utilise quellle api, win32, mfc, autre ?

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Chaine de caractères

 

Sujets relatifs
[VB] chaine de caracteresPetit soucis avec manipulation fichier + chaine de caractères - VB
[C]recupérer des caractères dans une chaineremplacement de chaine de caractères replace ne marche pas(vb6)
concaténation chaine de caractèresNb de caractères dans une chaine...
detection de fin de chaine de caracteres[DOS] Renommer des fichiers + ajout de chaine de caractères
Parametre template sous forme de chaine de caracteresExtraire le contenu binaire d'un fichier vers une chaine de caracteres
Plus de sujets relatifs à : Chaine de caractères


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR