char temp_fname[OSCAR_MAX_FILE_NAME_LEN+1];
char temp_fname_len[2+1];
char temp_cdate[OSCAR_DATE_SIZE+1];
struct stat st;
sprintf(temp_fname, OSCAR_MAX_FILE_MNAME_LEN+1, "%-30s", argv[i]);
sprintf(temp_fname_len, 3, "%-2u", (int)strlen(argv[i]));
sprintf(temp_cdate, OSCAR_DATE_SIZE+1, "%-12u", (unsigned int) st.st_ctime);
我已经包含了stdio.h和string.h。我该怎么做才能解决这个问题? 如果我需要添加有关代码的更多信息,请告诉我。
答案 0 :(得分:4)
您正在将一个size参数传递给sprintf
,但不期望使用snprintf
传递一个大小参数。