..
CString CurrentDirectoryToCString() { TCHAR buff[MAX_PATH]; memset(buff, 0, MAX_PATH); ::GetCurrentDirectory(MAX_PATH, buff); CString strFolder = buff; return strFolder; }..
CString CurrentDirectoryToCString() { TCHAR buff[MAX_PATH]; memset(buff, 0, MAX_PATH); ::GetCurrentDirectory(MAX_PATH, buff); CString strFolder = buff; return strFolder; }..
string CstringToString(CString str) { CT2CA pszConvertedAnsiString(str); std::string s(pszConvertedAnsiString); return s; }..
char text[] = "something";
wchar_t wtext[20];
mbstowcs(wtext, text, strlen(text)+1);//Plus null
LPWSTR ptr = wtext;
TCHAR Tch[MAX_PATH + 1]; int lenOftch = (wcslen(Tch) + 1) * 2; char * pStrTch = (char*)malloc(sizeof(char)*MAX_PATH); //tchar* to char* WideCharToMultiByte(CP_UTF8, 0, Tch, -1, pStrTch, lenOftch, NULL, NULL);//
char charBuff[]="test"; TCHAR szUniCode[256]={0,}; MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, charBuff, strlen(charBuff), szUniCode, 256);
string s; CString cs(s.c_str()); //< - lpctstr
#include < iostream> #include < string> #include "wingetopt.h" using namespace std; struct Options { Options():Number(10),use_A(false),infile(),outfile() {} int Number; bool use_A; string infile; string outfile; }; void parse_command_line(int argc, char** argv, Options& o) { int c = -1; while( (c = getopt(argc, argv, "lo:p:")) != -1 ) { switch(c) { case 'l': o.use_A = true; break; case 'o': o.outfile = optarg; break; case 'p': o.Number = atoi(optarg); break; default: cout << "error message" << endl; exit(1); } } if( optind < argc ) { o.infile = argv[optind]; } cout << "Num : " << o.Number << endl; cout << "Input file: " << o.infile << endl; cout << "Output file: " << o.outfile << endl; cout << "Use A: " << o.use_A << endl; } int main(int argc, char** argv) { Options o; parse_command_line(argc, argv, o); }... wingetopt.h
/* POSIX getopt for Windows AT&T Public License Code given out at the 1985 UNIFORUM conference in Dallas. */ #ifdef __GNUC__ #include... wingetopt.c#endif #ifndef __GNUC__ #ifndef _WINGETOPT_H_ #define _WINGETOPT_H_ #ifdef __cplusplus extern "C" { #endif extern int opterr; extern int optind; extern int optopt; extern char *optarg; extern int getopt(int argc, char **argv, char *opts); #ifdef __cplusplus } #endif #endif /* _GETOPT_H_ */ #endif /* __GNUC__ */
/* POSIX getopt for Windows AT&T Public License Code given out at the 1985 UNIFORUM conference in Dallas. */ #ifndef __GNUC__ #include "wingetopt.h" #include < stdio.h> #define NULL 0 #define EOF (-1) #define ERR(s, c) if(opterr){\ char errbuf[2];\ errbuf[0] = c; errbuf[1] = '\n';\ fputs(argv[0], stderr);\ fputs(s, stderr);\ fputc(c, stderr);} //(void) write(2, argv[0], (unsigned)strlen(argv[0]));\ //(void) write(2, s, (unsigned)strlen(s));\ //(void) write(2, errbuf, 2);} int opterr = 1; int optind = 1; int optopt; char *optarg; int getopt(argc, argv, opts) int argc; char **argv, *opts; { static int sp = 1; register int c; register char *cp; if(sp == 1) if(optind >= argc || argv[optind][0] != '-' || argv[optind][1] == '\0') return(EOF); else if(strcmp(argv[optind], "--") == NULL) { optind++; return(EOF); } optopt = c = argv[optind][sp]; if(c == ':' || (cp=strchr(opts, c)) == NULL) { ERR(": illegal option -- ", c); if(argv[optind][++sp] == '\0') { optind++; sp = 1; } return('?'); } if(*++cp == ':') { if(argv[optind][sp+1] != '\0') optarg = &argv[optind++][sp+1]; else if(++optind >= argc) { ERR(": option requires an argument -- ", c); sp = 1; return('?'); } else optarg = argv[optind++]; sp = 1; } else { if(argv[optind][++sp] == '\0') { sp = 1; optind++; } optarg = NULL; } return(c); } #endif /* __GNUC__ */...
#include < stdio.h> #include < tchar.h> #include < time.h> #include < tbb/tbb.h> #ifdef _DEBUG #pragma comment(lib, "tbb_debug.lib") #else #pragma comment(lib, "tbb.lib"); #endif // _DEBUG using namespace tbb; void main() { task_scheduler_init init; parallel_invoke( []()->void { ::Sleep(1000); ::printf("finish:%d\n", 1000); }, []()->void { ::Sleep(1000); ::printf("finish:%d\n", 10000); }); printf("All work is done \n"); getchar(); }/////