私は、ユーザーがユーザー名とパスワードを入力し(これは単なる演習であるため、暗号化は気にしません)、年齢とこのデータをファイルに書き込む簡単なコマンドラインツールを作成しています。これは私が持っているコードです:
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
ユーザー名とパスワードの両方に40文字未満の文字列を入力し、年齢に18の数字を入力したので、年齢のみが機能しているように見えます。よろしくお願いします。
編集:ファイルの内容は「(null)(null)18」で、間に改行がありますが、私の投稿には表示されません。