怎么将回车符转换为转义符

将字符串s复制到字符串t时,将其中的换行符和制表符转换可见的转义符,即用“\n”表示回车符,“\t”表示制表符。
我能将制表符转换为“\t”,但是输入回车符时,就会结束输入,即回车符并没有成为字符串的一部分,怎么输入回车符呢?

用getwchar()一个字符一个字符的读取,直到等于EOF结束
你题目的解答代码如下:

#include<stdio.h>

int main()
{
    int i=0;
    char s[100],c;
    while ((c=getchar())!=EOF)
    {
        if (c=='\n')
        {
            s[i++] = '\\';
            s[i++] = 'n';
        }
        else if (c=='\t')
        {
            s[i++] = '\\';
            s[i++] = 't';
        }
        else
        {
            s[i++] = c;
        }
    }
    s[i] = '\0';
    printf("%s\n", s);
    return 0;
}

img


通过键盘输入时,按Ctrl+Z组合键后再按回车键,就代表输入结束(也就是返回EOF)。
在UNIX/Linux/Mac OS系统中,Ctrl+D代表输入结束。

图片中^Z 就是按Ctrl+Z组合键的结果

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

你可以用getchar读入输入,并用EOF作为输入结束的判定
在windows中,EOF通过crtl+Z输入

Linux:
Ctrl+D
Windows:
Enter,Ctrl+Z,Enter

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632