传递 sprintf 的参数 2 从整数生成指针而不进行强制转换。 C警告
Passing argument 2 of sprintf makes pointer from integer without a cast. C warning
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。我应该怎么做才能解决这个问题?
如果我需要添加有关代码的更多信息,请告诉我。
您正在向 sprintf
传递一个大小参数,但不希望有一个大小参数,请使用 snprintf
传递一个大小参数。
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。我应该怎么做才能解决这个问题? 如果我需要添加有关代码的更多信息,请告诉我。
您正在向 sprintf
传递一个大小参数,但不希望有一个大小参数,请使用 snprintf
传递一个大小参数。