Je dois créer un programme qui accepte pas moins de 2 et pas plus de 6 arguments sur la ligne de commande, puis imprime le 1er ou le 2e caractère EX: asdf asdf asdf asdf imprime comme: ASASUtilisation de la ligne de commande en C pour détecter les arguments, puis imprimer le premier ou le second char des arguments
J'ai la configuration initiale de la baie et de travail, les boucles for ci-dessous sont destinées à couper la chaîne à l'arrêt un espace dans l'entrée et copie à une nouvelle chaîne, mais il ne fonctionne pas correctement. Je suis nouveau à C, et à ce site. Toute aide est grandement appréciée.
#include <stdio.h>
#include <string.h>
int main(){
char a[50];
char b[50];
char c[50];
char d[50];
char e[50];
char f[50];
int i;
printf("enter a string (Ex: asdf asdf asdf... Must have atleast 2 arguments but no more than six): ");
scanf("%s", a);
printf("%c", a);
for (i = 0; i != 50; i++){
if(a[i]==' '){
char strncpy(b, &a[i], i+2);
printf("\n%c ",a[1]);
printf("%c ",b[0]);
}
}
for (i = 0; i != 50; i++){
if(b[i]==' '){
char strncpy(c, &b[i], i+2);
printf("%c ",c[1]);
}
}
for (i = 0; i != 50; i++){
if(c[i]==' '){
char strncpy(d, &c[i], i+2);
printf("%c ",d[0]);
}
}
for (i = 0; i != 50; i++){
if(d[i]==' '){
char strncpy(e, &d[i], i+2);
printf("%c ",e[1]);
}
}
for (i = 0; i != 50; i++){
if(e[i]==' '){
char strncpy(f, &e[i], i+2);
printf("%c ",f[0]);
}
}
return 0;
}
Est-ce que je manque quelque chose? Quand vous dites 'passer des arguments à la ligne de commande', je m'attendrais à ce que vous parliez du tableau 'argv' passé dans' main() '. N'est-ce pas le cas? J'ai préparé une réponse en supposant que c'est le cas, mais peut-être pourriez-vous clarifier d'abord. – paddy
Oui, c'est ce que je suis supposé faire. J'ai juste essayé de le faire de toute façon possible après quelque temps – Church
Hmm, je vois que vous avez édité votre question pour que vous lisiez depuis la console, pas la ligne de commande. J'ai posté ma réponse en ligne de commande après avoir dit que c'est ce que vous essayez de faire. Je vais l'enlever si ce n'est pas ce que vous vouliez dire. – paddy