我想從絕對路徑名中提取相對路徑名。 C中有這個函數嗎?有沒有函數打印字符串從一個特定的字符開始(我有索引)?C從特定字符打印字符串
0
A
回答
0
如果你有索引,你可以很容易地做到這一點。
char * src = "YOUR STRING";
char * dst; // destination
dst = (char *) malloc(sizeof(char) * 20);
dst = (char *)memcpy(dst, &src[THE_INDEX_YOU_KNOW], strlen(src)-THE_INDEX_YOU_KNOW);
dst[len-start]='\0';
+0
太好了!我將在我的代碼中使用它。謝謝 –
2
0
正如約瑟夫所說,你可以使用basename()。
希望下面的程序能有所幫助。
#include <stdio.h>
#include <stdlib.h>
#include <libgen.h>
#include <string.h>
int main (int argc, char ** argv)
{
char *path = "/Users/lionnew/cpgm";
printf ("%s\n", basename (path));
/* If you have an index */
int index =15;
int len = strlen(path);
char * dest = malloc(len+1);
dest[len] = '\0';
strcpy (dest, (path+index));
printf ("\n Destination String %s ", dest);
}
注意:確保您的索引值不超過字符串len以避免分段錯誤。
希望這有助於延長。 ;)
相關問題
- 1. 打印字符串以特定字符
- 2. 用特殊字符打印字符串
- 3. 從給定的字符串打印一些特定的字符在c
- 4. 打印字符串,如果字符串中符合特定字符結束
- 5. C#打印字符串
- 6. 打印給定字符串中的非打印字符?
- 7. 打印字符串
- 8. 打印字符串
- 9. MIPS - 從字符串中打印一定數量的字符
- 10. 在c中的特定座標處打印字符串#
- 11. 從字符串獲取特定字符
- 12. PHP:將字符串從特定字符串替換爲特定字符串
- 13. 打印字符串的字符
- 14. 無法打印字符*字符串
- 15. 打印特殊字符
- 16. 字符串打印特定字數到一個新行
- 17. 打印包含指定子字符串的所有字符串
- 18. R按字符串或非打印字符拆分字符串
- 19. 從字符串數組中打印一個字符串
- 20. 打印字符串包含特殊字符
- 21. 打印字符串變量,其特殊字符
- 22. C打印一個字符串數組
- 23. 目標C打印字符串
- 24. C無法打印兩次字符串
- 25. printf()將不會打印字符串c
- 26. 如何打印字符串C++ MFC
- 27. C++打印一個反向字符串
- 28. 打印出最長的字符串c
- 29. 無法在C++中打印字符串
- 30. 打印字符串數組元素C++
您可以添加要打印的索引。 [見這裏](http://liveworkspace.org/code/311f96ccf5f8bd2d66d195009dfd186c)。我不確定任何功能。 – chris
如果你有/不能你的索引只是使用strncpy或者你是由於某種原因試圖使用單獨的複製/緩衝區無效? – goji
謝謝克里斯!那正是我需要的。 –