【Linux c】字串的擷取
阿新 • • 發佈:2018-12-21
對字串的擷取:
#include <stdio.h> #include <string.h> //截斷有特殊符號的字串,並取後段 void cutString_A(char* string) { char *p_start = string; char newString[32]; while(*p_start) { if (*p_start == '.') { p_start++; strncpy(newString, p_start, sizeof(newString)); break; } p_start++; } printf("newString = %s\n", newString); } //截斷有特殊符號的字串,並取前段 void cutString_B(char* string) { char *p_start = string; char newString[32]; int num = 0; while(*p_start) { if (*p_start == '.') break; p_start++; num ++; } strncpy(newString, string, num); printf("newString = %s\n", newString); } //擷取字串的前n個字元 void cutString_C(char* string, int num) { char *p_start = string; char newString[32]; strncpy(newString, p_start, num); printf("newString = %s\n", newString); } //擷取字串的後n個字元 void cutString_D(char* string, int num) { char *p_start = string; char newString[32]; int len = strlen(string); strncpy(newString, p_start + (len - num), sizeof(newString)); printf("newString = %s\n", newString); } int main(void) { char string[32] = "hello.txt"; cutString_A(string); cutString_B(string); cutString_C(string, 5); cutString_D(string, 5); return 0; }