我想要一個來自用戶的輸入他們的名字和輸出在NSLog使用NSString輸入名稱。 我不知道哪個%符號以及如何輸出。 我可以使用scanf()函數嗎? 請幫助我,我只是Objective-C的初學者。如何在Objective-C的NSLog函數中輸出NSString類型?
回答
您可以對所有對象(包括NSString)使用%@。這將依次調用對象description
方法並打印適當的字符串。大多數對象都有一個相當有用的表示(例如,NSArray對象返回其所有內容的描述)。
這樣?的NSLog( 「%@」,名); ? –
是的,'NSLog(「%@」,name); '會工作。 – progrmr
%@
是你想要的。它適合的物體,像NSString
,[YourViewController class]
NSLog
接受格式字符串,所以你可以做這樣的事情:
#include <stdio.h>
#include <Foundation/Foundation.h>
// 1024 characters should be enough for a name.
// If you want something more flexible, you can use GNU readline:
// <http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html>
#define MAX_NAME_LENGTH 1024
// Get name from user input
char name[MAX_NAME_LENGTH];
name[0] = '\0'; // just in case fgets fails
fgets(name, MAX_NAME_LENGTH, stdin);
// Put name into NSString object and output it.
NSString *name = [NSString stringWithUTF8String:name];
NSLog(@"%@", name);
%@
適用於所有的Objective-C對象。 如果要輸出C字符串(char*
或const char*
),請使用%s
。切勿將非文字字符串作爲NSLog
的第一個參數,因爲這會打開安全漏洞。
呵呵!我只想從用戶輸入中獲取NSString。不是字符和輸出NSString.and也不想轉換成NSString.Can我喜歡那樣。我只是初學者。請解釋我。 :) –
你不能直接從標準輸入獲取NSString(假設你需要)。如果你願意,你可以使用'NSFileHandle'和'NSData'來完成,但是直接使用'NSString'是不可能的。有關示例,請參閱http://caiustheory.com/read-standard-input-using-objective-c。 – 2011-11-23 14:52:54
啊!我知道 。所以我們不能直接獲得String輸入。在C#.Net中,我們可以輕鬆使用Console.ReadLine(); 。但在OBJC。我們無法得到。 :(感謝您的回答。 –
要獲得來自用戶的輸入,請使用UITextField或NSTextField。要輸出字符串到日誌文件,你可以使用的NSLog,即:
NSString* userName = @"Zawmin";
NSLog(@"name = %@", userName);
或者NSTextField如果使用Cocoa。 – 2011-11-23 14:33:51
現在我正在使用用戶的控制檯輸入。我該怎麼做? –
@Zawmin查看我的答案。它使用fgets從用戶的C字符串中獲取輸入,然後使用NSLog將其轉換爲NSString輸出。 – 2011-11-23 14:38:48
馬克·迪倫是將存儲在名稱變量的名稱。
NSString* Name = @"Mark Dylan";
該代碼將允許您詢問他們的姓名並將其掃描到存儲在Name變量中的內存中。
NSLog("What is your name?");
scanf("%@", &Name);
如果你想打印出來,你可以使用變量;在文檔中
NSLog("Your name is %@", Name);
- 1. 的NSString未示出的NSLog
- 2. 如何在NSLog中限制NSArray輸出
- 3. 如何檢查NSLog輸出?
- 4. NSlog()到NSString
- 5. 如何NSLog調用函數
- 6. 如何把在NSString的NSLog的使用多個參數
- 7. 如何找出Haskell函數的類型?
- 8. 如何使用Apportable查看NSLog輸出?
- 9. 打印使用NSLog的NSString參數
- 10. 如何在Xcode中顯示的NSLog輸出內容4.3.1
- 11. 如何在ruby中捕獲NSLog的輸出?
- 12. 輸出類函數
- 13. GHC分析器輸出中的Demangling類型類函數
- 14. 目標C處的NSString中的NSLog
- 15. 在函數中調用輸入類型
- 16. 如何在php中輸出不同類型的數據?
- 17. 在項目中調用NSLog的函數
- 18. 如何在Xcode中找到print()或NSLog()控制檯輸出源
- 19. NSLog()的輸出寫在哪裏?
- 20. 如何在選擇輸入類型中使用函數
- 21. 找出函數類型在llvm中
- 22. 如何在存儲過程中輸出我的輸入類型
- 23. 如何用不同類型的輸入和輸出定義函數?
- 24. 轉換任何數據類型的NSString
- 25. 如何在函數輸入參數中輸入類型值作爲對象?
- 26. 如何清除代碼中的NSLog輸出?
- 27. 如何將printf輸出直接指向NSLog所在的目標?
- 28. 在UIAlertView的輸出中引用NSString?
- 29. 推薦類型讀的 - 的ObjectiveC
- 30. 如何限制輸入類型和輸出類型相同?
見[字符串格式說明](http://developer.apple.com/library/IOs/#documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html)。 – Anna