获取一个字符的子串*
例如,我有这个
char *buff = "this is a test string";  并想获得"test" 。 我怎样才能做到这一点? 
 char subbuff[5]; memcpy( subbuff, &buff[10], 4 ); subbuff[4] = '\0'; 
任务完成 :)
假设你知道子string的位置和长度:
 char *buff = "this is a test string"; printf("%.*s", 4, buff + 10); 
您可以通过将子string复制到另一个内存目标来达到同样的目的,但是这是不合理的,因为您已经将其存储在内存中。
这是通过使用指针避免不必要的复制的一个很好的例子。
 从<cstring>使用char* strncpy(char* dest, char* src, int n) 。 在你的情况下,你将需要使用下面的代码: 
 char* substr; strncpy(substr, buff+10, 4); 
 关于strncpy函数的完整文档在这里 。 
 你可以使用strstr 。 示例代码在这里 
请注意,返回的结果不是空终止的。
 你可以使用<string.h> strstr() 
$ man strstr