zoukankan      html  css  js  c++  java
  • (筆記) 如何在字串中從指定字元抓到指定字元(pointer版)?

    Abstract
    這是一個實務上常用的功能,可惜在C語言的string.h並沒有提供,本文實作出一個小function達到此功能,並搭配pointer。

    Introduction
    (筆記) 如何在字串中從指定字元抓到指定字元? (C/C++) (C),其實已經可以包含99%的需求,唯一的缺憾是,string.h的函數大都回傳的char *,若要更靈活的搭配string.h原本的函數,勢必提供pointer版的function。

    第三與第四個參數,都改用char *‧

    strchrp.c / C 

    1 /* 
    2 (C) OOMusou 2009 http://oomusou.cnblogs.com
    3 
    4 Filename    : strchrp.c
    5 Compiler    : Visual C++ 9.0
    6 Description : Demo how to get string from specify char to char (pointer ver.)
    7 Release     : 04/26/2009 1.0
    8 */
    9 
    10 #include <stdio.h>
    11 #include <string.h>
    12 
    13 void strchrp(char *dest, char *src, char *begin, char *end) {
    14   int len = strlen(begin) - strlen(end);
    15   strncpy(dest, begin, len);
    16   dest[len] = '\0';
    17 }
    18 
    19 int main() {
    20   char src[] = "[10,20]";
    21   char dest[20];
    22  
    23   strchrp(dest, src, strchr(src, ',') +1, strchr(src, ']'));
    24  
    25   printf("%s", dest);
    26 }


    執行結果

    20


    Known Issue
    目前這個版本,當begin與end為NULL時,會發生當機的狀況,還必須做更好的防呆機制‧

  • 相关阅读:
    C加加学习之路 1——开始
    哈夫曼树C++实现详解
    Linux常用命令
    Accp第二章:基础知识
    第一章Accp 8.0
    泛型集合
    深入C#数据类型
    初始wondows系统
    深入.NET框架
    二至十五章总结
  • 原文地址:https://www.cnblogs.com/lzjsky/p/1861734.html
Copyright © 2011-2022 走看看