نسفيلهاندل و سكانف لا يردد المدخلات في كسكودي 4.5
-
11-12-2019 - |
سؤال
أنا بنجاح استخدام نسفيلهاندل لقراءة إدخال لوحة المفاتيح:
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.عندما يتم تحديث وحدة التحكم ، يتم الكشف عن جميع المدخلات المرددة.
لا تنتمي إلى StackOverflow