void File_Save::okbutton_OnClicked(GtkWidget *w,GtkFileSelection *fs) { const gchar *filename=gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (filechooserdialog1)); inputCommand("save",(char *)filename); inputCommand(".",""); gtk_widget_hide_all(filechooserdialog1); }
int main(int argc, char *argv[]) { int keepRunning = 1; int command; while (keepRunning == 1) { showRegisters(); command = inputCommand(); switch (command) { case 0: keepRunning--; break; case 1: assignment(); break; case 2: addRegisters(); break; case 3: subtractRegisters(); break; } } return 0; }
static void start(std::vector<std::vector<std::string>> paths) { int i; CDatagramSocket DatagramSockets[SOCKET_NUM]; CServerSocket ServerSockets[SOCKET_NUM]; bool bSuccess; hostent *localHost; g_PortmapProg.Set(PROG_MOUNT, MOUNT_PORT); //map port for mount g_PortmapProg.Set(PROG_NFS, NFS_PORT); //map port for nfs g_NFSProg.SetUserID(g_nUID, g_nGID); //set uid and gid of files mountPaths(paths); g_RPCServer.Set(PROG_PORTMAP, &g_PortmapProg); //program for portmap g_RPCServer.Set(PROG_NFS, &g_NFSProg); //program for nfs g_RPCServer.Set(PROG_MOUNT, &g_MountProg); //program for mount g_RPCServer.SetLogOn(g_bLogOn); for (i = 0; i < SOCKET_NUM; i++) { DatagramSockets[i].SetListener(&g_RPCServer); ServerSockets[i].SetListener(&g_RPCServer); } bSuccess = false; if (ServerSockets[0].Open(PORTMAP_PORT, 3) && DatagramSockets[0].Open(PORTMAP_PORT)) { //start portmap daemon printf("Portmap daemon started\n"); if (ServerSockets[1].Open(NFS_PORT, 10) && DatagramSockets[1].Open(NFS_PORT)) { //start nfs daemon printf("NFS daemon started\n"); if (ServerSockets[2].Open(MOUNT_PORT, 3) && DatagramSockets[2].Open(MOUNT_PORT)) { //start mount daemon printf("Mount daemon started\n"); bSuccess = true; //all daemon started } else { printf("Mount daemon starts failed.\n"); } } else { printf("NFS daemon starts failed.\n"); } } else { printf("Portmap daemon starts failed.\n"); } if (bSuccess) { localHost = gethostbyname(""); printf("Local IP = %s\n", inet_ntoa(*(struct in_addr *)*localHost->h_addr_list)); //local address inputCommand(); //wait for commands } for (i = 0; i < SOCKET_NUM; i++) { DatagramSockets[i].Close(); ServerSockets[i].Close(); } }
/** * コンソール上で対局を行います。 */ bool ConsoleManager::play() { // 定跡の読み込み if (!book_.readFile()) { Loggers::warning << "Could not read book."; } record_.init(Board::Handicap::Even); // 棋譜の読み込み if (!config_.inFileName.empty()) { CsaReader::read(config_.inFileName, record_); } auto searcherConfig = buildSearcherConfig(searcher_.getConfig(), config_); searcher_.setConfig(searcherConfig); printBoard(record_.getBoard()); while (true) { if (!config_.outFileName.empty()) { CsaWriter::write(config_.outFileName, record_); } if (isAuto()) { // コンピュータによる着手 search(true); // 盤面表示 printBoard(record_.getBoard()); } else { // ユーザからのコマンド入力 CommandResult result = inputCommand(); if (result == CommandResult::Changed) { // 盤面表示 printBoard(record_.getBoard()); } else if (result == CommandResult::Quit) { // quit break; } } } return true; }
void shell_main(int argc, char *argv[]) { char *buf; char argumentList[100][256] = {0}; int argcount; int type; int i; buf = (char *)Malloc(sizeof(char) * 256); while(1) { memset(buf, 0, 256); for(i = 0; i < 100; i++) { memset(argumentList[i], 0, 256); } //先打印shell提示符, 提示符根据路径名的改变而改变 printShellPrompt(); //等待输入要执行的命令 //用input函数, input函数主要用于输入命令, 并且处理输入的命令 inputCommand(buf); argcount = explainCommand(buf, argumentList); char *argument[argcount + 1]; for(i = 0; i < argcount; i++) { argument[i] = (char *)argumentList[i]; } argument[argcount] = NULL; //判度输入的是不是退出命令 if(!strcmp(buf, "exit") || !strcmp(buf, "logout")) { break; } if(!strncmp(buf, "cd", 2)) { //进行cd命令的一系列处理 //argcount = explainCommand(buf, argumentList); cdCommand(argcount, argument); } else { type = judgeSymbolType(buf); if(type == HAVE_BACK) { backgroundSymbol(argument); } else if(type == HAVE_INPUT) { inputRedirectionSymbol(argument); } else if(type == HAVE_OUT) { outputRedirectionSymbol(argument); } else if(type == HAVE_PIPE) { pipeSymbol(argument, argcount); } else if(type == NO_SYMBOL) //如果没有以上这些符号,则当作普通命令执行 { noSymbol(argument); } } } //如果输入了exit或logout, 则释放内存, 并结束进程 if(buf) { free(buf); buf = NULL; } exit(0); }