为了打印出文件中的内容,我有以下代码。
FILE *fp = fopen(cString, "w+");
NSString* message = [NSString stringWithFormat:@":SLEEP: %@:%@\n", ...];
char* cMessage = [message UTF8String]; <-- warning
fprintf(fp, cMessage); <-- warning
fclose(fp);
但是,我在Initialization discards qualifiers from pointer target type error
中收到了char* cMessage
,并发出Format not a string literal and no format argument
警告。
代码出了什么问题?
答案 0 :(得分:6)
-UTF8String
会返回const char *
,但您要将其分配到char *
。因此,您将丢弃const
限定符。
对于fprintf
,您可能应该这样做:
fprintf(fp, "%s", cMessage);