我想从绝对路径名中提取相对路径名。 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
谢谢克里斯!那正是我需要的。 –