C言語はセカンダリポインタを使用して文字列セグメンテーションを実装します。

あまり言うことはありません。コードにアクセスしてください。

#include<stdio.h>
int opt(char **p, char ch, char **res)
{
    char *q = *p;
    if ( q == NULL || *q == '\0')
    {
        return -1;
    }        
    *res = q;    
    while( *q != ch && *q != '\0')
        q++;    
    if(*q != '\0') 
    {
        *q = '\0';
        q++;
    } 
    *p = q;  
    return 255;
}

int main()
{
    char data[] = "hello world we are friend";
    char *p = data;
    char *str;
    int n;
    while((n = opt(&p, ' ',&str)) > 0)
    {
        printf("str = ");
        printf("%s\n", str);
    }
    return 0;
} 

おすすめ

転載: blog.csdn.net/lhh2333/article/details/129444043