我有一個字符串代表一個文件名,我想刪除這個擴展名,所以擦除「。」後面的所有內容。什麼是最好的方法?謝謝。從一個字符串中刪除一個子字符串
回答
如果您使用的是Windows,下面的函數就可以了:
std::wstring StripFileExtension(std::wstring fileName)
{
WCHAR tempBuffer[MAX_PATH];
if (fileName.empty())
{
return TEXT("");
}
wcscpy(tempBuffer, fileName.c_str());
PathRemoveExtension(tempBuffer);
return tempBuffer;
}
謝謝大家,因爲我在Windows上,我將使用這個「就緒」功能。 – user2370139
@ user2370139那麼請接受我的回答。我很高興這會爲你工作! – computerfreaker
@ user2370139這是相當短視的。如果您可以編寫可移植代碼,爲什麼要編寫不可移植代碼? – juanchopanza
可以使用的std :: string,並且每個字符複製到新的字符串
std::string name = "filename.jpg", newname ="";
int thelength = 0;
for(int i=name.length();i>0;i--){
if(name[i] != '.'){
thelength++;
}
else{
break;
}
}
for(int i=0;i<(name.length()-thelength);i++){
newname+=name[i];
}
OP問題如何回答? –
我忘了檢查'。' – Krofz
這仍然不能正確回答問題;有兩個擴展名的文件名將會丟失它們。這可能不是預期的行爲,取決於提問者的需求。 – computerfreaker
下面的代碼可以用於相同的目的。
int npos = str.find_last_of('.');
str = str.substring(0,npos);
- 1. 從一個字符串中刪除一個子字符串,使用memmove在C
- 2. 刪除從一個字符開始到另一個字符的子字符串
- 3. 刪除一個字符串的字符
- 4. 刪除一個字符在字符串
- 5. 刪除最後一個子字符串
- 6. 從javascript中的另一個字符串中刪除一個字符串
- 7. SQL Server的一個字符串中刪除多個字符串
- 8. 從一個或兩個數字中刪除一個字符串
- 9. vba - 從每個字符串數組中刪除子字符串
- 10. 從字符串中刪除多個子字符串 - Java
- 11. 如何從字符串中刪除多個子字符串?
- 12. 從字符串中刪除N個第一個字符
- 13. 動態刪除最後一個字符串後/從字符串
- 14. 從另一個字符串中刪除字符串中的字符的功能
- 15. Python:從第一個數字字符中刪除字符串
- 16. 從一個字符串中提取兩個子字符串
- 17. 從一個字符串中提取兩個子字符串
- 18. 搜索一個字符串,添加一個字符串,並刪除一個文件中的字符串
- 19. 從字符串中刪除一個字符
- 20. 從字符串中刪除一個字符realbasic
- 21. 如何從字符串[python]中刪除一個字符?
- 22. JQuery:從一個字符串中刪除字符/選擇
- 23. 從字符串中刪除一個字符
- 24. 從字符串中刪除第一個字符
- 25. 從一個字符串中刪除的字符在MASM
- 26. 從八度字符串中刪除第一個字符
- 27. 如何從字符串中刪除一個字符?
- 28. 從一個字符串中刪除特殊字符
- 29. 從字符串的可選點中刪除一個字符
- 30. 從字符串中刪除第一個字符
請在您尋求幫助時顯示一些您嘗試的內容。 – yasouser
那麼'file.tar.gz'你也需要處理這個嗎? – ST3