我想使用 printf 之类的精度说明符分配一个字符串变量,而不使用大量的 for 循环。代码从命令行以 YYYYMMDD 的形式传入日期。要以 MM/DD/YYYY 格式打印日期,我将执行以下操作:
char *date = argv[2];
printf("%.2s/%.2s/%.4s", &date[4], &date[6], date);
所以从命令行传递 '20130725' 将打印 '07/25/2013'
但是,如果我尝试,这不起作用:
char *formatted_date = ("%.2s/%.2s/%.4s", &date[4], &date[6], date);
printf("%s\n", formatted_date);
从命令行传递“20130725”将打印“20130725”。
我将如何以与此类似的方式分配变量,或者这在 C 中是不可能的?