在C語言中,可以使用以下方法去掉字符串末尾的換行符:
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;
}
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)化。