bonjour a tous ,tout d'abors je poste mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <stdlib.h>
int main (int argc , char *argv[]){
	int car;
	char chaine[81];
	int i;
 
//pr verif on affiche la chaine lue a modifier:
 
 
	fgets(chaine,sizeof chaine,stdin);
	printf(" la chaine :  %s", chaine );
 
	if((argc > 3) || (argc == 1)){
		printf("mauvais nbr de parametres");
	}//if
 
	putchar('\n');
 
	i=0;
 
	putchar('\n');
 
	if(argc == 2){
		while ( ( i < *argv[1] ) && ((car = chaine[i]) != '\0') ) {
			putchar(car);
			i++;
 
		}//while
	}//if
	putchar('\n');
 
	exit(EXIT_SUCCESS);
 
}//fin prog
voila en fait il sagit de réécrire la commande colrm , le probleme c'est que le test dans le "while" ne seffectue pas apres execution de :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
>>gcc -o mcolrm mcolrm.c
>>./mcolrm 3 <mcolrm.c
jobtiens:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 la chaine :  #include <stdio.h>
 
#include <stdio.h>
alors que manifestement je voudrais obtenir:
le reste etant coupé...

je comprends que le probleme vient du fait que je ne peux pas comparer "i" avec
"*argv[1]" et qu'il faudrait caster l'un des deux mais jai beau essayer de mettre (int) devant le argv[1] ca ne marche pas
peut on maider plz?