English 中文(简体)
使用 strpbrk 分隔字符串, 用分隔符“ ” 分隔符分隔字符串?
原标题:Separate a string using strpbrk , with delimiter ">>"?
  • 时间:2012-05-22 20:05:00
  •  标签:
  • c
  • string

我写一个程序, 输入含有以下字符的任何字符串 :

& , > , < , SPACE (e.g " ")

分隔符的写法像这样: char 分隔符[] = " & amp;<>"; , 我用 strpbrk 命令使用它们。

我需要向此组添加分隔符 ' & gt; & gt; " . 我该怎么做?

如果我只写 : charter 分隔符[] = "&< & gt; & gt;>> & gt;"; , 编译者不相应处理

知道怎么解决这个问题吗?

谢谢 谢谢

最佳回答
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char *strpbrkEx(const char *str, char **strs){
    char *minp=(char*)-1, *p;
    if(NULL==str || NULL==strs)return NULL;
    while(*strs){
        p=strstr(str, *strs++);
        if(p && minp > p)
            minp = p;
    }
    if(minp == (char*)-1) return NULL;
    return minp;
}

int main(){
    char *delimiters[] = {" ","&","<",">>",">", NULL};
    char data[]="cin>> num;";
    char *p;
    p = strpbrkEx(data, delimiters);//found ">>" but case of ">" distinction does not adhere
    printf("%s",p);
    return 0;
}
问题回答

strpbrk 使用 charles s作为分隔符, 并且 >>" 不是一个字符, 所以您不能将它作为分隔符使用。 既然您已经有 & gt; 作为分隔符, 当您看到一行中的两行时, 您可以把它变成一个特殊例子 。





相关问题
Simple JAVA: Password Verifier problem

I have a simple problem that says: A password for xyz corporation is supposed to be 6 characters long and made up of a combination of letters and digits. Write a program fragment to read in a string ...

Case insensitive comparison of strings in shell script

The == operator is used to compare two strings in shell script. However, I want to compare two strings ignoring case, how can it be done? Is there any standard command for this?

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

String initialization with pair of iterators

I m trying to initialize string with iterators and something like this works: ifstream fin("tmp.txt"); istream_iterator<char> in_i(fin), eos; //here eos is 1 over the end string s(in_i, ...

break a string in parts

I have a string "pc1|pc2|pc3|" I want to get each word on different line like: pc1 pc2 pc3 I need to do this in C#... any suggestions??

Quick padding of a string in Delphi

I was trying to speed up a certain routine in an application, and my profiler, AQTime, identified one method in particular as a bottleneck. The method has been with us for years, and is part of a "...

热门标签