gpt4 book ai didi

objective-c - 尝试将 NSString 解析为 NSDate 时出错

转载 作者:行者123 更新时间:2023-12-04 05:08:27 26 4
gpt4 key购买 nike

我完全是新手,所以如果我在这里做了一些可怕的事情,请原谅我。

我试图以我在示例中指定的格式获取用户生日,但在 scanf 中出现错误部分:format specified type char * but the argument has type NSString
我该如何解决?这是我的代码:

    int main(int argc, const char * argv[])
{

@autoreleasepool {

NSString *input;

NSLog(@"Please enter your birthday, for example: 09-01-1984");

scanf("%s", &input);

NSDate *today = [NSDate date];

NSDate *bDay = [NSDate dateWithNaturalLanguageString:input];

NSLog(@"%lu", [bDay elapsedDays:today]);

}
return 0;
}

最佳答案

sscanf()是 C 库的一部分和 NSString是 Foundation Objective-C 框架的一部分,你不能像那样混合它们。

试试这个:

int main(int argc, const char * argv[])
{
@autoreleasepool {
char input[80];
NSLog(@"Please enter your birthday, for example: 09-01-1984");
scanf("%s", input);
NSDate *today = [NSDate date];
NSDate *bDay = [NSDate dateWithNaturalLanguageString:[NSString stringWithUTF8String:input]];
NSLog(@"%lu", [bDay elapsedDays:today]);
}
return 0;
}

关于objective-c - 尝试将 NSString 解析为 NSDate 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15205705/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com