Supprimer un espace ou une tabulation en début de phrase

Résolu
dikdableu Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   -  
dikdableu Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour ,
voilà comme dis dans le titre j'aimerais supprimer un espace ou un tabulation de début de phrase mais je ne sais pas trop comment faire ^^'.
A voir également:

3 réponses

chico200987 Messages postés 791 Date d'inscription   Statut Membre Dernière intervention   143
 
Dans ce cas là c'est très simple si tu veux supprimer uniquement le premier char :

char * delete_first_char(char * str)
{
    return &str[1];
}

1
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Je mets juste une petite variante, mais le code de chico200987 est très bien :
char * delete_first_char(char const * str) {
     return str+1;
}

Cdlt,

Google is your friend
1
dikdableu
 
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

char * delete_first_char(char const * str)
{
    return str+1;
}


int main ()
{ 
	char text[250];

	printf("rentrez une phrase\n:");
	fgets(text,250,stdin);

	
switch (text[250])
		{
			case ' ':
				delete_first_char(text[250]);
			break;
			case '	':
				delete_first_char(text[250]);
			break;
		}

	printf("voici votre phrase\n:%s ",text[250]);
	return 0;

}
0
dikdableu Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   22
 
j'ai fais comme sa . mais sa ne marche pas . pourquoi ?
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
switch (text[250])
J'imagine que tu veux parler de la chaîne entrée par l'utilisateur. Si c'est le cas, ce n'est pas text[250], mais text. text[250] représente le 251ème caractère de ta chaîne qui n'en comporte d'ailleurs que 250... Le dernier est text[249].

Pour comparer des chaînes de caractère, il faut utiliser la fonction strcmp() (ou mieux strncmp()). Donc tu ne pourras pas utiliser switch().

Voici comment procéder :
if (strcmp(text, "coucou") == 0) {
  /*la chaîne est égale à coucou*/
}

Note bien qu'il s'agit de guillemets et non d'apostrophes.

En revanche, je ne comprends pas très bien ce que tu souhaites faire ? Quel est le but de ton programme ?
0
dikdableu Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   22
 
merci fiddy je vais essayer sa . c'est pour un cours de programmation . je suis bloqué donc je demande de l'aide :)
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Quand je demandais le but du programme, c'était dans le sens qu'est-ce que tu cherches à faire. Je ne vois pas où tu veux en venir en comparant avec " " et " ".
0
Utilisateur anonyme
 
Bah tu te mets après l'espace ou la tabulation et tu appuies sur la touche "effacer".
-1
chico200987 Messages postés 791 Date d'inscription   Statut Membre Dernière intervention   143
 
Mdr, je pense plutôt qu'il veut une fonction trim() en C uniquement pour le début de phrase
0
dikdableu Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   22
 
sa peux etre une tabulation , un espace ou n'importe quoi d'autre mais il faut que je supprime le premier caractere de ma phrase
0