السلام عليكم كيفكم, انا عندي برنامج المفروض يسوي system call لبعض اوامر الـ unix مثلاً ls, pwd, pico, exit...etc
المشكلة اني مني عارف اسويه بدون ما استدعي الـsystem call البرنامج بالـ C ومرفق في الملفات ياليت تساعدوني وشكراً
وعليكم السلام .
هذا تعديل بسيط ربما يناسب فكرتك:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
int i;
int ok=0;
char str[10];
char *cmd[20] ={"dir","color","help","CHKDSK"};
do{
printf(">>");
scanf("%s",str);
for(i=0;i<4;i++){
if (strcmp(str,cmd)==0) ok=1;
}
if(ok) system(str);
else printf("Command Not Found\n");
ok=0;
}while(strcmp(str,"quit"));
}بما أني جديد في موضوع السي ده, فأنا مستعد أساعدك للأخر, شوف ده كده:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int is_correct_command(char[]);
const char* cmd_list []= {"dir", "cls", "exit"};
int cmd_list_size = 3;
const char prompt[] = ">>" ;
int main(void){
char input[10];
do{
printf("%s ", prompt);
scanf("%s", input);
printf("%s", prompt);
is_correct_command(input) && system(input);
}while (strcmp(input, "exit")!= 0);
system("pause");
return 0;
}
int is_correct_command(char cmd[]){
int i;
for (i=0; i < cmd_list_size; i++){
if (strcmp(cmd_list, cmd) == 0){
return 1;
}
}
printf(" command not recognized\n");
return 0;
}فهد الشلوي, هويدي يعطيكم الف الف عافية على جهدكم