#include <iostream>
#include <fstream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;
class MESSAGE{
public:
int argc;
char *argv[25];
char tmp_cmd[100];
public:
void getMessage();
void processMessage();
void printMessage();
};
void MESSAGE::getMessage(){
while (true){
printf(">>>");
char *res = NULL;
res = fgets(tmp_cmd, 100-1, stdin);
if (res==NULL && ferror(stdin)){
printf("fgets error\n");
}
processMessage();
printMessage();
}
}
void MESSAGE::printMessage(){
for (int i=0; i<argc; i++){
printf("%s\n", argv[i]);
}
}
void MESSAGE::processMessage(){
int len = strlen(tmp_cmd);
tmp_cmd[len-1]=' ';
argc=0;
char tmp_str[100];
int pos_tmp_str=0;
for (int i=0; i<=len; i++){
if (tmp_cmd[i]!=' '){
tmp_str[pos_tmp_str++]=tmp_cmd[i];
}else{
tmp_str[pos_tmp_str]='\0';
int l=strlen(tmp_str);
argv[argc] = (char *)malloc(sizeof(char)*(l+1));
strcpy(argv[argc], tmp_str);
argc++;
pos_tmp_str=0;
}
}
}
int main(){
MESSAGE msg;
msg.getMessage();
return 0;
}
C++模拟终端
猜你喜欢
转载自blog.csdn.net/weixin_42172261/article/details/106150453
今日推荐
周排行