我試圖分析在C像這樣的字符串:查找路徑父文件夾
/afolder/secondfolder/thirdone
做一個函數和函數應該返回此:
/afolder/secondfolder
我tryed很多東西...
int getParentFolder(const char *pPathNewLink, char* TargetDirectory) {
char *dirPath = strrchr(pPathNewLink, '/');
strncpy(TargetDirectory, pPathNewLink, dirPath - pPathNewLink);
return 1;
}
我不能使用操作系統庫。我必須這樣做。
我tryed調用這樣的功能:
char * test;
getParentFolder("/var/lib",test);
printf("%s", test);
但我得到一個賽格故障...
您的代碼適用於我。它完全符合你的說法。顯示調用這個函數的代碼,它可以調用它錯誤的。 – JIghtuse
@角色我可以這樣的功能:\t \t char * targetFolder; getParentFolder(pDirName,targetFolder); – Lorac
您是否爲TargetDirectory分配內存? – starrify