Rechercher : dans
Par :

Langage c

Dernière réponse le 4 jun 2003 à 16:36:30 k..., le 3 jun 2003 à 18:03:51 
 Signaler ce message aux modérateurs

Bonjour
je cherche le code pour remplacer ts caractere precedé d'un espace par sa majuscule
merci
une debutante en langage c

Meilleures réponses pour « langage c » dans :
Langage C++ - Les types de données Voir Les types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Langage C - Les types de données Voir Les types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...
Langage C - Les chaînes de caractères Voir Qu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
[Langage C] C/C++ Erreur de segmentation VoirQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux...
Les files en langage C VoirLes files - Premier Entré Premier Sorti Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la file IV. Opérations sur les files A. Initialisation B. Insertion d'un élément dans la file C. Oter un...
Les piles en langage C VoirLes piles Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la pile IV. Opérations sur les piles A. Initialisation B. Insertion d'un élément dans la pile C. Ôter un élément de la pile D. Affichage...
Langage C - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage C sont typées, c'est-à-dire que les données contenues dans...
Les classes en langage C++ VoirLa notion d'objet Le langage C est un langage procédural, c'est-à-dire que c'est un langage permettant de définir des données grâce à des variables, et des traitements grâce aux fonctions. L'apport principal du langage C++ par rapport au...

1

pouet, le 3 jun 2003 à 18:11:34

Bonjour,

je propose:
void remplace(char *str)
{
char *ptr;
ptr = strchr(str, ' ');
if (ptr && (ptr + 1) != '\0')
*ptr = toupper(*ptr);
}
il manque une boucle evidemment...

--
pouet

Répondre à pouet

6

Derrick, le 4 jun 2003 à 13:59:25

Ouais bien sur ...
Pourquoi faire simple quand on peux faire compliqué ?

Répondre à Derrick

8

pouet, le 4 jun 2003 à 14:03:52

Peux tu exprimer clairement ta pensee s il te plait?

--
pouet

Répondre à pouet

2

lof., le 3 jun 2003 à 18:18:17

Bonjour,
Alors il faut d'abord commencer par construire l'algorithme. Pour résoudre ce problème.

quelques éléments en vrac :
Recherché le caractère ' '
ensuite le caractère suivant et remplacé par le caractère qui se trouve 32 place avant la lettre en minuscule.

exemple
A : 65
a : 97

x: 120
X: 88

rappel: un caractère est représenté par un entier dans la table ascii
exemple
for(int i=0;i<255;i++)
println("%c"i);

Si ça peut aider ...

Répondre à lof.

3

k..., le 3 jun 2003 à 20:24:25

Merci pour ta reponse
j'ai étudié cette possibilité mais comment recuperer ma chaine de caractere une fois modifiée ?

Répondre à k...

5

lof., le 4 jun 2003 à 10:58:27

Si je ne dis pas de c***ie et c'est pas gagné en c.
mais en C un chaine de caractères est un tableau de caractère char[] donc tu peux l'utiliser sous cette forme.
non ??

Répondre à lof.

4

batmat, le 4 jun 2003 à 10:39:22

Un ptit truc pour la clarté en C : n'utilise pas le code ASCII, utilise 'A' pour le code ASCII de 'A' par exemple

@++

Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?

Répondre à batmat

7

pouet, le 4 jun 2003 à 14:02:06

Pour la clarte, oui. mais pas seulement.
toutes les machines n ont pas un jeu de caractere ASCII.
croire que 'a' = 64 est une erreur, de la meme maniere que croire que
'A' - 'a' = 32
pour le probleme pose, il _faut_ utiliser toupper().

--
pouet

Répondre à pouet

9

Galfus, le 4 jun 2003 à 14:46:49

Amis de la simplicité bonjour !

je propose de faire une boucle qui parcours la chaine de caractère. A chaque tour de boucle faire un test :
si c un espace, alors faire un nouveau test :

if(toupper(chaine[compteur-1])
{
chaine[compteur-1]=toupper(chaine[compteur-1]);
}

A+

<------Galfus------>
In penguin we trust

Répondre à Galfus

10

pouet, le 4 jun 2003 à 15:22:52

Salut,

c est pas simple, tu fais un test inutile.
ca c est simple:
*ptr = toupper(*ptr);

et accessoirement ton code est faux.
il est dit "_precede_ d un espace".

--
pouet

Répondre à pouet

13

Galfus, le 4 jun 2003 à 16:19:05

Dsl,
je voulais dire +1...
et je vois pas pkoi j'ai 1 test de trop : 1 test pour vérifier que c un espace et un autre pour vérifier que la lettre n'est pas déjà en maj

<------Galfus------>
In penguin we trust

Répondre à Galfus

14

 pouet, le 4 jun 2003 à 16:36:30

Extrait du man de toupper:
RETURN VALUES
If the argument is a lower-case letter, the toupper() function returns
the corresponding upper-case letter if there is one; otherwise the argu-
ment is returned unchanged.

--
pouet

Répondre à pouet

11

pouet, le 4 jun 2003 à 15:41:31

Un de mes potes pariculierement reloud me dit que les pointeurs c est complique.
je reecris mais c est moins beau :(

#include <stdio.h>
#include <ctype.h>

void remplace(char *string)
{
unsigned int i;

for (i = 0; string[i] != '0'; i++)
{
if (string[i] == ' ')
string[i +1] = toupper(string[i + 1]);
}
}

int main(int argc, char *argv[])
{

remplace(argv[1]);
puts(argv[1]);
return 0;
}

$gcc -Wall -ansi -pedantic test.c -o tutu
$./tutu 'pouet est tres beau'
pouet Est Tres Beau

--
pouet

Répondre à pouet

12

pilou, le 4 jun 2003 à 15:42:11

Moi je proposerai de le faire en caml ca serait bien mieux, ca elevrai enfin le niveau de nos amateurs, car ne pas coder en C avec des pointeurs, faut pas etre doue.

Répondre à pilou
Collection CommentÇaMarche.net