如何解决"sprintf"的冲突类型?

How to resolve Conflicting types for 'sprintf'?

本文关键字:sprintf 类型 冲突 何解决 解决      更新时间:2023-10-16

我在我的项目中使用 stdio.h 文件。

当从Xcode中编译时间时,我使用了

 Comipler for C/C++/Objective-C: LLVM GCC 4.2

在编译时间获得'Sprintf' error的冲突类型。这在Mac OS 10.6.8&Xcode 3.2.3,但在Mac OS 10.7.4中&XCode 4.5出错?请帮我?

这是Mac OS X 10.7.4

中的代码
 __BEGIN_DECLS
 int     fseeko(FILE *, off_t, int);
 off_t   ftello(FILE *);
 __END_DECLS
#endif /* __DARWIN_C_LEVEL >= 200112L */
#if __DARWIN_C_LEVEL >= 200112L || defined(_C99_SOURCE) || defined(__cplusplus)
__BEGIN_DECLS
 int     snprintf(char * __restrict, size_t, const char * __restrict, ...) __printflike(3,   4);
 int     vfscanf(FILE * __restrict, const char * __restrict, va_list) __scanflike(2, 0);
int  vscanf(const char * __restrict, va_list) __scanflike(1, 0);
int  vsnprintf(char * __restrict, size_t, const char * __restrict, va_list) __printflike(3, 0);
int  vsscanf(const char * __restrict, const char * __restrict, va_list) __scanflike(2, 0);
__END_DECLS
#endif /* __DARWIN_C_LEVEL >= 200112L || defined(_C99_SOURCE) || defined(__cplusplus) */

检查格式模式和sprintf和类似功能的参数最近是否匹配到Xcode 4.4的编译器(如果我没记错的话)的编译器中。这是一项有价值的检查,突出显示了您的代码中的问题,而早期版本都没有注意到。

在我的情况下,编译器始终是正确的。因此,您最好修复格式模式或转换相应的参数。

如果您发布了特定代码,我们可以提供更具体的建议。