当前位置: 首页>>代码示例>>C++>>正文


C++ inode_state::get_cwd方法代码示例

本文整理汇总了C++中inode_state::get_cwd方法的典型用法代码示例。如果您正苦于以下问题:C++ inode_state::get_cwd方法的具体用法?C++ inode_state::get_cwd怎么用?C++ inode_state::get_cwd使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在inode_state的用法示例。


在下文中一共展示了inode_state::get_cwd方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: fn_rmr

void fn_rmr (inode_state& state, const wordvec& words){
   DEBUGF ('c', state);
   DEBUGF ('c', words);
   if(words.size() == 1){
      complain() << "rmr: Specify file name" << endl;
   } else if(words.size() > 2){
      complain() << "rmr: Too many arguments" << endl;
   } else if(words.at(1) == "." or words.at(1) == ".." or 
      (words.at(1).at(0) == '/' and words.at(1).length() == 1)){
      complain() << "rmr: Cannot remove directory" << endl;
   } else {
      path_name_set(words.at(1));
      const auto placeholder = state.get_cwd();
      if(words.at(1).at(0) == '/') state.setCwd(state.get_root());
      wordvec navpath = split(words[1], "/");
      string ffname = navpath.back();
      if(navpath.size() == 1){
         state.function_rmr(state.get_cwd(), ffname);
         return;
      }
      wordvec filepath(&navpath[0], &navpath[navpath.size() - 1]);
      state.function_final_rmr(ffname, filepath);
      state.setCwd(placeholder);
   }
}
开发者ID:ddsun95,项目名称:projects,代码行数:25,代码来源:commands.cpp

示例2: fn_cat

void fn_cat (inode_state& state, const wordvec& words){
   DEBUGF ('c', state);
   DEBUGF ('c', words);
   if(words.size() < 2){
      complain() << "cat: Too few arguments" << endl;
   } else {
      const string firstword = words.at(1);
      path_name_set(firstword);
      if(firstword.at(0) == '/' and firstword.length() > 1){
         string navname = firstword.substr(1, firstword.length());
         cout << navname << endl;
         const auto placeholder = state.get_cwd();
         wordvec nav_path {};
         nav_path = split(navname, "/");
         state.setCwd(state.get_root());
         state.final_func_cat(nav_path);
         state.setCwd(placeholder);
         return;
      } else if(firstword.length() == 1 and firstword.at(0) == '/'){
          complain() << "cat: /: File is Directory" << endl;
          return;
      }
      wordvec nav_path = split(firstword, "/");
      state.final_func_cat(nav_path);
   }
}
开发者ID:ddsun95,项目名称:projects,代码行数:26,代码来源:commands.cpp

示例3: fn_mkdir

void fn_mkdir (inode_state& state, const wordvec& words){
   DEBUGF ('c', state);
   DEBUGF ('c', words);

   inode_ptr cwd = state.get_cwd();
   const string filename = words[1];
   cwd->mkdirectory(filename, cwd);
}
开发者ID:jrzidow,项目名称:Advanced_Programming,代码行数:8,代码来源:commands.cpp

示例4: fn_make

void fn_make (inode_state& state, const wordvec& words){
   DEBUGF ('c', state);
   DEBUGF ('c', words);
     
   inode_ptr cwd = state.get_cwd();
   wordvec w(words.begin() + 1, words.end()); 
   cwd->mkfile(cwd,w); 
   
}
开发者ID:jrzidow,项目名称:Advanced_Programming,代码行数:9,代码来源:commands.cpp

示例5: fn_ls

void fn_ls (inode_state& state, const wordvec& words){
   DEBUGF ('c', state);
   DEBUGF ('c', words);
   
   for(unsigned int i = 0; i<state.directory_path_name.size(); i++)
      cout << state.directory_path_name[i];
      cout << ":\n";
   
   if(words.size() == 1){
      inode_ptr cwd = state.get_cwd();
      cwd->list_files(cwd);  

   //treat "ls /" the same as "ls "  
   } else if(words[1] == "/" and words.size() == 2){
      inode_ptr cwd = state.get_cwd();
      cwd->list_files(cwd);
   } 

}
开发者ID:jrzidow,项目名称:Advanced_Programming,代码行数:19,代码来源:commands.cpp

示例6: fn_lsr

void fn_lsr (inode_state& state, const wordvec& words){
   DEBUGF ('c', state);
   DEBUGF ('c', words);
   if(words.size() > 2){
      complain() << "lsr: Too many arguments" << endl;
      return;
   } else if(words.size() == 1){
      state.function_list_r(state.get_cwd());
   } else if(words.at(1).at(0) == '/'){
      if(words.at(1).length() == 1){
         state.function_list_r(state.get_root());
         return;
      }
      const auto placeholder = state.get_cwd();
      state.setCwd(state.get_root());
      wordvec nav_path = split(words.at(1), "/");
      state.function_list_r(state.get_working_ptr(nav_path));
      state.setCwd(placeholder);
   } else {
      wordvec nav_path = split(words[1], "/");
      state.function_list_r(state.get_working_ptr(nav_path));
   }
}
开发者ID:ddsun95,项目名称:projects,代码行数:23,代码来源:commands.cpp

示例7: fn_make

void fn_make (inode_state& state, const wordvec& words){
   DEBUGF ('c', state);
   DEBUGF ('c', words);
   if(words.size() < 2){
      complain() << "make: Specify pathname" << endl;
      return;
   }
   const auto placeholder = state.get_cwd();
   if(words.at(1).at(0) == '/'){
      state.setCwd(state.get_root());
   }
   wordvec nav_path  = split(words[1], "/");
   wordvec insertion(&words[2], &words[words.size()]);
   state.final_make_file(nav_path, insertion);
   state.setCwd(placeholder);
}
开发者ID:ddsun95,项目名称:projects,代码行数:16,代码来源:commands.cpp

示例8: fn_cd

void fn_cd (inode_state& state, const wordvec& words){
   DEBUGF ('c', state);
   DEBUGF ('c', words);

   if(words.size() > 2)
      throw yshell_exn("Too many operands");

   inode_ptr cwd = state.get_cwd();
   state.set_cwd(cwd, words[1]);

   if(words[1] == "..") 
      {state.directory_path_name.pop_back();}

   else if (state.directory_path_name.size() > 1)
      {state.directory_path_name.push_back("/"+words[1]);}

   else if (state.directory_path_name.size() == 1)
      {state.directory_path_name.push_back(words[1]);} 
}
开发者ID:jrzidow,项目名称:Advanced_Programming,代码行数:19,代码来源:commands.cpp

示例9: fn_mkdir

void fn_mkdir (inode_state& state, const wordvec& words){
   DEBUGF ('c', state);
   DEBUGF ('c', words);
   //NEED TO CHECK IF THE DIR IS ALREADY IN THE DIR.
   if(words.size() < 2){
      complain() << "mkdir: Too few arguments" << endl;
   } else if(words.size() > 2) {
      complain() << "mkdir: Too many arguments" << endl;
   } else {
      path_name_set(words.at(1));
      const auto placeholder = state.get_cwd();
      if(words.at(1).at(0) == '/') {
         state.setCwd(state.get_root());
      }
      path_name_set(words.at(1));
      wordvec nav_path = split(words.at(1), "/");
      state.final_mkdir(nav_path);
      state.setCwd(placeholder);
   }
}
开发者ID:ddsun95,项目名称:projects,代码行数:20,代码来源:commands.cpp

示例10: fn_cat

void fn_cat (inode_state& state, const wordvec& words){
   DEBUGF ('c', state);
   DEBUGF ('c', words);
   

   if (words.size() >= 2){
      inode_ptr cwd = state.get_cwd();
      
      for(unsigned int i = 1; i<words.size(); i++){
         string w(words.at(i));
         cwd->locate_plain_file(cwd, w);
         cout << '\n';  
      }
   } else if (words.size() == 1){
      throw yshell_exn("cat: No filename specified");
   } 
/*
    else if(words.size() > 2){
      throw yshell_exn("cat: Too many operands");
   }
*/
}
开发者ID:jrzidow,项目名称:Advanced_Programming,代码行数:22,代码来源:commands.cpp


注:本文中的inode_state::get_cwd方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。