溫馨提示×

C語言怎么清空前后空字符串

小億
360
2023-12-07 09:23:26
欄目: 編程語言

在C語言中,可以使用以下方法清空字符串的前后空白字符:

  1. 使用isspace()函數判斷字符是否為空白字符,可以處理空格、制表符、換行符等空白字符。
  2. 從字符串的開頭開始,遍歷字符,直到遇到第一個非空白字符,記錄其位置。
  3. 從字符串的末尾開始,遍歷字符,直到遇到第一個非空白字符,記錄其位置。
  4. 根據記錄的位置,將字符串截取為新的子字符串,即可得到清空前后空白字符的字符串。

下面是一個示例代碼:

#include <stdio.h>
#include <string.h>
#include <ctype.h>

char* trim(char* str) {
    size_t len = strlen(str);
    size_t start = 0, end = len - 1;
    
    // 從開頭找到第一個非空白字符的位置
    while (isspace(str[start])) {
        start++;
    }
    
    // 從末尾找到第一個非空白字符的位置
    while (end > start && isspace(str[end])) {
        end--;
    }
    
    // 截取子字符串
    memmove(str, str + start, end - start + 1);
    str[end - start + 1] = '\0';
    
    return str;
}

int main() {
    char str[] = "   hello world    ";
    printf("Before: '%s'\n", str);
    printf("After: '%s'\n", trim(str));
    
    return 0;
}

運行結果如下:

Before: '   hello world    '
After: 'hello world'

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女