溫馨提示×

c語言怎么去掉換行符

小億
210
2024-09-03 22:06:59
欄目: 編程語言

在C語言中,可以使用以下方法去掉字符串末尾的換行符:

  1. 使用fgets()函數(shù)讀取字符串時(shí),換行符會(huì)自動(dòng)添加到字符串末尾。為了去掉換行符,可以遍歷字符串,找到換行符并將其替換為空字符(‘\0’)。
#include<stdio.h>
#include<string.h>

int main() {
    char str[100];

    // 使用 fgets() 函數(shù)讀取字符串
    fgets(str, sizeof(str), stdin);

    // 去掉換行符
    for (int i = 0; i < strlen(str); i++) {
        if (str[i] == '\n') {
            str[i] = '\0';
            break;
        }
    }

    printf("去掉換行符后的字符串: %s\n", str);
    return 0;
}
  1. 使用scanf()函數(shù)讀取字符串時(shí),換行符不會(huì)添加到字符串末尾。但是,如果需要去掉輸入流中的換行符,可以使用getchar()函數(shù)讀取并丟棄換行符。
#include<stdio.h>

int main() {
    char str[100];

    // 使用 scanf() 函數(shù)讀取字符串
    scanf("%s", str);

    // 去掉換行符
    getchar(); // 讀取并丟棄換行符

    printf("去掉換行符后的字符串: %s\n", str);
    return 0;
}

請注意,這些示例代碼僅適用于簡單的情況。在實(shí)際應(yīng)用中,可能需要根據(jù)具體需求進(jìn)行相應(yīng)的修改和優(yōu)化。

0