为了打印出文件中的内容,我有以下代码.
FILE *fp = fopen(cString, "w+");
NSString* message = [NSString stringWithFormat:@":SLEEP: %@:%@\n", ...];
char* cMessage = [message UTF8String]; <-- warning
fprintf(fp, cMessage); <-- warning
fclose(fp);
Run Code Online (Sandbox Code Playgroud)
但是,我Initialization discards qualifiers from pointer target type error进去了char* cMessage,并Format not a string literal and no format argument警告.
代码有什么问题?
-UTF8String返回a const char *,但是你将它分配给一个char *.因此,您将丢弃const限定符.
至于fprintf你应该这样做:
fprintf(fp, "%s", cMessage);
Run Code Online (Sandbox Code Playgroud)