我在尝试将 char 复制到 char 时遇到了一些麻烦...
这是 args[] 定义:
char* args[6];
if (1 == ParseQuery(request, &args[0])) ....
#note : args[ARG_DATE] = "201204090600"
这是 d 定义:
struct date {
char a[4];
char m[2];
char j[2];
char h[4];
};
date d;
这就是我想要做的:
int TileServe::ParseQuery(FastCGIRequest& request, char** args) {
for (int i=0; i<4; i++) {
d.a[i] = args[ARG_DATE][i];
d.h[i] = args[ARG_DATE][i+8];
}
for (int i=0; i<2; i++) {
d.m[i] = args[ARG_DATE][i+4];
d.j[i] = args[ARG_DATE][i+6];
}
strcat(filename, "/");
strcat(filename, d.a);
strcat(filename, "/");
strcat(filename, d.m);
...
printf("%s\n", filename);
我得到:
./data/alpes/201204090600/04090600/090600/0600/alpes_201204090600.nc
我期待着 :
./data/alpes/2012/04/09/06/alpes_201204090600.nc
我究竟做错了什么 ?