在C 中高效驗證前綴並將子字串轉換為整數
需要檢查字串是否以特定前綴開頭並轉換子字串轉換為整數是程式設計中的常見任務。在Python 中,可以使用startswith() 和int() 函數輕鬆實現這一點。然而,在 C 中實現類似的功能需要不同的方法。
要檢查 C std::string 是否以某個字串開頭,可以使用 rfind() 函數,並將位置參數 pos 設為零。這將搜尋限制為僅匹配字串開頭或更早的前綴。例如,要檢查 argv[1] 是否以“--foo=”開頭:
if (argv[1].rfind("--foo=", 0) == 0) { // argv[1] starts with "--foo=" }
要將子字串轉換為整數,可以使用 stoi() 函數。但是,由於 rfind() 傳回一個位置,因此您需要先提取子字串。這是更新的Python 偽代碼:
if argv[1].startswith('--foo='): foo_value = int(argv[1]['--foo='.len():])
在C 中,這將轉換為:
size_t pos = argv[1].rfind("--foo=", 0); if (pos != std::string::npos) { foo_value = std::stoi(argv[1].substr(pos + 6)); }
這種方法高效且簡單,不需要外部庫或額外的複雜性。它為 C 中的前綴檢查和子字串轉換提供了簡潔有效的解決方案。
以上是如何在 C 中高效驗證前綴並將子字串轉換為整數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!