Пытаюсь сделать NSString из scanf.Только получив первое слово - PullRequest
0 голосов
/ 09 ноября 2010

Вот что я пытаюсь сделать:

char inputBuffer[200];
NSString *input;
scanf("%s", inputBuffer);
input = [[NSString alloc] initWithUTF8String:inputBuffer];
NSLog(input);

Вот что происходит:

bla bla bla
2010-11-08 23:17:03.670 TextGame[51147:a0f] bla

inputBuffer содержит целую строку.Я попытался сделать NSLog("%@", inputBuffer), и там была целая строка.

Когда я создаю эту строку NSString, похоже, она содержит только последнее слово.

Пожалуйста, помогите мне с этими, я погуглил, каквесь интернет и никуда не деться.: -)

1 Ответ

2 голосов
/ 09 ноября 2010

scanf("%s", inputBuffer); читает только символы, пока не встретится пробел.Поэтому в буфере хранится только «bla».Вы должны использовать gets(inputBuffer).Эта функция «Считывает символы из stdin и сохраняет их в виде строки в str, пока не будет достигнут символ новой строки ('\ n') или конец файла."

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...