1

ユーザー入力を取得してターミナルに出力する単純なプログラムを作成しているだけです。NSStringとしてユーザー入力を取得する方法がわかりません。Cでscanf()について読んだことがありますが、文字列を取得できないようです。私はそれを行うための可能な方法があるかどうか疑問に思いましたか?

4

4 に答える 4

0

次の2つの文字列関数のいずれかを使用します。

 #include <stdio.h>

 char *fgets(char * restrict str, int size, FILE * restrict stream);

 char *gets(char *str);

使用getsは簡単ですが、本番コードでの使用は安全ではありません。以下を使用した例を次に示しfgetsます。

#define MAX_LENGTH 80

- (void)example
{
    char buf[MAX_LENGTH];
    fgets(buf, MAX_LENGTH, stdin);

    NSString *s = [NSString stringWithUTF8String:buf];
    NSLog(@"%@", s);
}
于 2012-10-31T13:09:20.030 に答える
0
       scanf("%s",str);
       mystr = [NSString stringWithUTF8String:str];
于 2012-10-31T11:32:05.917 に答える
0

C ライブラリ関数scanfを使用して、標準入力から C 文字列を読み取り、それNSStringから を使用して を作成できますinitWithCString:encoding:

于 2012-10-31T11:32:36.413 に答える
0
printf("Enter your string: ");
scanf("%s", str);                    // read and format into the str buffer
printf("Your string is %s\n", str);    // print buffer

// you can create an NS foundation NSString object from the str buffer
NSString *lastName = [NSString stringWithUTF8String:str];

// %@ calls description o object - in NSString case, prints the string
NSLog(@"lastName=%@", lastName);
于 2012-10-31T13:01:13.673 に答える