diff --git a/main.c b/main.c deleted file mode 100644 index c22c596..0000000 --- a/main.c +++ /dev/null @@ -1,25 +0,0 @@ -#include -#include - -int main(int argc, char *argv[]) { - //Get program path information - char drive[_MAX_DRIVE]; - char dir[_MAX_DIR]; - char fname[_MAX_FNAME]; - char ext[_MAX_EXT]; - _splitpath_s(argv[0], drive, dir, fname, ext); - //Splice command - char ch[100] = "bash.exe -c \""; - strcat_s(ch, sizeof(ch), fname); - int count; - for (count = 1; count < argc; ++count) { - char ch0[100] = " "; - strcat_s(ch0, sizeof(ch0), argv[count]); - strcat_s(ch, sizeof(ch), ch0); - } - strcat_s(ch, sizeof(ch), "\""); - //Forward command - system(ch); - - return 0; -} diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..02a09d7 --- /dev/null +++ b/main.cpp @@ -0,0 +1,37 @@ +#include +#include + +using namespace std; + +int main(int argc, char* argv[]) { + //Get program path information + char drive[_MAX_DRIVE]; + char dir[_MAX_DIR]; + char fname[_MAX_FNAME]; + char ext[_MAX_EXT]; + _splitpath_s(argv[0], drive, sizeof(drive), dir, sizeof(dir), fname, sizeof(fname), ext, sizeof(ext)); + //Splice command + string ch_body = ""; + ch_body = fname; + + int count = 1; + long length = 0; + for (count; count < argc; ++count) { + string ch_tmp = " "; + ch_tmp += argv[count]; + ch_body += ch_tmp; + } + + string ch_head = "bash.exe -c \""; + string ch_tail = "\""; + string ch = ""; + ch += ch_head; + ch += ch_body; + ch += ch_tail; + //Forward command + const char* ch_out; + ch_out = ch.c_str(); + system(ch_out); + + return 0; +}