你好,我正在尝试从一个较大的字符串中提取一个小字符串,基本上我得到了一个带有分隔符的字符串,我需要重新排列它。所以假设我有"@the president#“@显示我必须开始的地方,#是子串的结尾。我使用strchr来获取@符号的指针,我知道我需要搜索,直到找到#符号。虽然没有从x到y的函数,但我不确定如何从字符指针a转到符号#。
char *garbage = "@the president#";
int count = 0;
char a = strchr(garbage, @);
char *sentence = NULL;
while(start at a, garbage[count] != #){
char sentence[count] = garbage[count];
count++;
}发布于 2013-07-10 02:01:06
使用类似如下的内容:
const char* posAtSign = strchr(searchString,'@');
if (posAtSign != NULL) {
const char* posPoundSign = strchr(posAtSign+1,'#');
if (posPoundSign != NULL) {
const int numChars = posPoundSign - posAtSign - 1;
strncpy(substringBuffer,posAtSign+1,numChars);
}
}测试代码:
char searchString[] = "@the president#";
char substringBuffer[128];
const char* posAtSign = strchr(searchString,'@');
if (posAtSign != NULL) {
const char* posPoundSign = strchr(posAtSign+1,'#');
if (posPoundSign != NULL) {
const int numChars = posPoundSign - posAtSign - 1;
strncpy(substringBuffer,posAtSign+1,numChars);
substringBuffer[numChars] = '\0';
printf("substring: '%s'", substringBuffer);
}
}https://stackoverflow.com/questions/17554965
复制相似问题