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時,會發生當機的狀況,還必須做更好的防呆機制‧

  • 相关阅读:
    css3新特性
    线程间通信的三种方法
    硬件相关知识
    time.h
    ldr指令总结
    你不知道的100个小秘密
    ARM学习日记
    C中位域的使用
    《编程之美》第2刷勘误
    排序2
  • 原文地址:https://www.cnblogs.com/lzjsky/p/1861734.html
Copyright © 2011-2022 走看看