2012-02-18 9 views
7

私の割り当てに従って、NSStringと一緒に使用するには、コンソールからユーザーから入力を受け取る必要があります。現時点で 文字配列をNSStringオブジェクトに変換する

私は、しかし、私はこの警告を取得しています、これは動作します

char* name[100]; // declaring char array 
NSString* firstName; // declaring the NSString 

printf("Please enter first name \n"); 
printf("=> "); 
scanf("%s", &name); 

firstName = [NSString stringWithCString:name encoding:NSASCIIStringEncoding]; 

持つタイプ 「のconst char型のパラメータに '文字[100]' 送信

互換性のないポインタ型 '

コードにこれらのエラーが表示されたくないXcode 4.2を使用しています。

誰でも説明してもらえますかなぜ私はこれらのエラーを受けていますか?

事前に感謝します。

答えて

11

変更この:

char* name[100]; 

char name[100]; 

の最初の形式は100のポインタcharのアレイを作成します。 2番目の要素は100 char要素の配列を作成します。何が混乱しているかは、その最後のケースではnameであり、実際にはポインタであり、これらの要素の最初のものを指しています。

2

NSLogで印刷されたものは、NSStringを初期化するために割り当てられています。

NSLog(@"%s", arrayChar); 
NSString *str = [NSString stringWithFormat:@"%s", arrayChar]; 
NSLog(@"Array to String: %@",str); 
関連する問題