AColin_s 2022-02-22 22:47 采纳率: 100%
浏览 33
已结题

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

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

  • 写回答

4条回答 默认 最新

  • 关注

    用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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月3日
  • 已采纳回答 2月23日
  • 创建了问题 2月22日

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料