@@ -83,11 +83,11 @@ function genFileName(problem, opts) {
83
83
84
84
// try to use a new filename to avoid overwrite by mistake
85
85
let i = 0 ;
86
- let name ;
87
- do {
88
- name = path . join ( opts . outdir , params . join ( '.' ) . replace ( / \. + / g, '.' ) ) ;
89
- params [ 2 ] = i ++ ;
90
- } while ( fs . existsSync ( name ) ) ;
86
+ let name = path . join ( opts . outdir , params . join ( '.' ) . replace ( / \. + / g , '.' ) ) ;
87
+ // do {
88
+ // name = path.join(opts.outdir, params.join('.').replace(/\.+/g, '.'));
89
+ // params[2] = i++;
90
+ // } while (fs.existsSync(name));
91
91
return name ;
92
92
}
93
93
@@ -105,11 +105,35 @@ function showProblem(problem, argv) {
105
105
let code ;
106
106
const needcode = argv . gen || argv . codeonly ;
107
107
if ( needcode ) {
108
- const template = problem . templates . find ( x => x . value === argv . lang ) ;
108
+ var template = problem . templates . find ( x => x . value === argv . lang ) ;
109
109
if ( ! template ) {
110
110
log . fail ( 'Not supported language "' + argv . lang + '"' ) ;
111
111
log . warn ( 'Supported languages: ' + langlist ) ;
112
112
return ;
113
+ } else {
114
+ if ( argv . lang === 'cpp' ) {
115
+ var include = `
116
+ #include <iostream>
117
+ #include <string>
118
+ #include <vector>
119
+ using namespace std;
120
+
121
+ ` ;
122
+
123
+ template . defaultCode = include + template . defaultCode ;
124
+
125
+ var main = `
126
+
127
+ int main()
128
+ {
129
+ Solution *s = new Solution();
130
+
131
+ delete s;
132
+ return 0;
133
+ }
134
+ `
135
+ template . defaultCode += main ;
136
+ }
113
137
}
114
138
115
139
const opts = {
@@ -124,6 +148,8 @@ function showProblem(problem, argv) {
124
148
if ( argv . gen ) {
125
149
filename = genFileName ( problem , argv ) ;
126
150
h . mkdir ( argv . outdir ) ;
151
+ code = code . replace ( / \* \r \n / g, '' ) ;
152
+ log . debug ( 'code ' , filename , JSON . stringify ( code ) ) ;
127
153
fs . writeFileSync ( filename , code ) ;
128
154
129
155
if ( argv . editor !== undefined ) {
0 commit comments