C语言实现输入包含空格的字符串并控制有效长度
#include <stdio.h> #include <string.h>
#define MAX_LENGTH 100
int main() { char str1[MAX_LENGTH]; char input[MAX_LENGTH]; int length = 0;
printf('请输入包含空格的字符(最多%d个字符,以回车结束):\n', MAX_LENGTH);
while (1) {
fgets(input, MAX_LENGTH, stdin);
int input_length = strlen(input);
if (input_length + length >= MAX_LENGTH) {
strncpy(str1 + length, input, MAX_LENGTH - length - 1);
str1[MAX_LENGTH - 1] = '\0';
break;
}
strncpy(str1 + length, input, input_length);
length += input_length;
if (input[input_length - 1] == '\n') {
str1[length - 1] = '\0';
break;
}
}
printf('输入的字符串为:%s\n', str1);
printf('有效长度为:%d\n', strlen(str1));
return 0;
}
原文地址: https://www.cveoy.top/t/topic/pVhS 著作权归作者所有。请勿转载和采集!