Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,因此它是on-topic,用于堆栈溢出。
                        
                        6年前关闭。
                                                                                            
                
        
我在使用strtok()时遇到问题。
我输入了一个字符串,应该将_#_删除,其余的保留下来。问题是它也删除了_,我需要它专门删除_#_

这是我的代码在这里。

#include <stdio.h>
#include <string.h>

int main()
{
  char *strtok( char *str1, const char *str2 );

  char str[] = "hello_#_there_#_my__name_#_is_#_sam";

  char delims[] = "_#_";
  char *result = NULL;

  result = strtok( str, delims );

  while( result != NULL )
  {
    printf( "%s", result );
    result = strtok( NULL, delims );
  }

  return 0;

}


这就是我的回报:
地名

这就是我想要的
hellotheremy__nameissam

有任何想法吗?

最佳答案

分隔符指示要在哪些字符上进行标记。它不表示要匹配字符串。它将找到所有_和#字符。看一下strstr()

08-08 08:11