gpt4 book ai didi

c - 接受\r\n输入C程序

转载 作者:行者123 更新时间:2023-12-03 19:40:07 27 4
gpt4 key购买 nike

请问如何接受\r\n无需将其更改为 \\r\\n , 与 fgets .
我想让程序翻译 \r\n到换行符而不是将其打印为字符串。
当前代码:

char buff[1024];
printf("Msg for server: ");
memset(buff, 0, sizeof(buff));
fgets(buff, sizeof(buff), stdin);
printf(buff);
输入:
test\r\ntest2
我想要的输出:
test
test2
我目前的输出:
test\r\ntest2

最佳答案

OP 正在输入
\r\n 并希望更改为换行符。
处理输入字符串以查找 \ , 转义序列的开始。

if (fgets(buff, sizeof buff, stdin)) {
char *s = buff;
while (*s) {
char ch = *s++;
if (ch == '\\') {
switch (*s++) {
case 'r': ch = '\r'; break; // or skip printing this character with `continue;`
case 'n': ch = '\n'; break;
case '\\': ch = '\\'; break; // To print a single \
default: TBD(); // More code to handle other escape sequences.
}
}
putchar(ch);
}

关于c - 接受\r\n输入C程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66349982/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com