我正在制作一个简单的命令行工具,用户在其中输入用户名和密码(我不关心加密,因为这只是一个练习)以及他们的年龄和这些数据被写入文件。这是我的代码:
char username[40];
char password[40];
int age = 0;
NSString *path = [NSString stringWithFormat:@"%@/Documents/config.txt", NSHomeDirectory()];
NSFileManager *fileManager = [[NSFileManager alloc]init];
//Username Input
NSLog(@"Pick a username (less then 40 letters):");
scanf("%s", username);
NSString *usernameString = [[NSString alloc] initWithBytes:username
length:39
encoding:NSUTF8StringEncoding];
//Password Input
NSLog(@"Pick a password (less then 40 letters):");
scanf("%s", password);
NSString *passwordString = [[NSString alloc] initWithBytes:password
length:39
encoding:NSUTF8StringEncoding];
//Age Input
NSLog(@"What's your age?");
scanf("%i", &age);
NSString *finalContents = [NSString stringWithFormat:@"%@\n%@\n%i", usernameString, passwordString, age];
NSData *dataContent = [finalContents dataUsingEncoding:NSUTF8StringEncoding];
[fileManager createFileAtPath:path contents:dataContent attributes: nil];
当我打开生成的文件时,它具有以下内容:
(null)
(null)
18
我为用户名和密码以及年龄的数字 18 输入了一个少于 40 个字符的字符串,因此看来只有年龄有效。先谢谢了。
编辑:该文件的内容为“(null)(null)18”,中间有换行符,但它们没有出现在我的帖子中。