我知道 C 的(非常简洁的)数组初始化语法,比如
char arr[12] = {[0] = '\n', [4] = 'z'};
初始化数组中的一些特定成员,但是有没有办法用字符串初始化整个数组块?像这样:
char filename[12] = {[0..9] = "data/img/"};
是否有允许它的内置语法?还是我必须坚持memcpy():
char filename[strlen(basename) + 14];
memcpy(filename, "data/img/", 9);
memcpy(filename + 9, basename, l);
memcpy(filename + 9 + l, ".bmp", 4);
filename[l + 13] = '\0';
是我目前拥有的;filename是被指控的字符数组,而basename是一个变量字符串。