سؤال

أنا بنجاح استخدام نسفيلهاندل لقراءة إدخال لوحة المفاتيح:

NSFileHandle * keyboard = [NSFileHandle fileHandleWithStandardInput];
NSData *inputData = [keyboard availableData];
NSString * input =[[NSString alloc] initWithData:inputData encoding:NSUTF8StringEncoding];

كما أنواع المستخدم ، وردد فقط الحرف الأول من المدخلات على الشاشة.على سبيل المثال ، إذا كنت اكتب hello, فقط h وردد على الشاشة.ومع ذلك يتم قراءة الإدخال الكامل في السلسلة.

يعمل السلوك الصدى السليم في كسكودي 4.2.أنا حاليا باستخدام كسكودي 4.5.

تحديث

التخلي عن NSFileHandle في الوقت الحالي ، حاولت استخدام scanf.ومع ذلك ، هناك نفس مشكلة الصدى. scanf كود:

char word[4];
scanf("%s",word);
NSString * input = [[NSString alloc] initWithBytes:word length:4 encoding:NSUTF8StringEncoding];
هل كانت مفيدة؟

المحلول

هذا هو علة في كسكودي 4.5.عندما يتم تحديث وحدة التحكم ، يتم الكشف عن جميع المدخلات المرددة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top