免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yvonne@ma
打印 上一主题 下一主题

[C] 如果字符串后有换行符\n,C语言程序中怎么去掉? [复制链接]

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11
21 [报告]
发表于 2007-03-06 16:47 |只看该作者
#include <string.h>

/* trim last newline character '\n' */
char *strtrim_ln(char *s) {
    size_t len;

    len = strlen(s);
    if (len > 0 && s[len - 1] == '\n') {
        s[len - 1] = '\0';
    }
    return s;
}

论坛徽章:
0
22 [报告]
发表于 2007-03-06 18:59 |只看该作者
char buf[7]={'a', 'b', 'c', 'd', 'e', '\n', '\0'};
*(strchr(buf, '\n')) = '\0';

论坛徽章:
0
23 [报告]
发表于 2007-03-06 19:18 |只看该作者
原帖由 langue 于 2007-3-6 18:59 发表
char buf[7]={'a', 'b', 'c', 'd', 'e', '\n', '\0'};
*(strchr(buf, '\n')) = '\0';

呵呵,变通方法还是挺多的~

论坛徽章:
0
24 [报告]
发表于 2007-03-06 20:04 |只看该作者
替换成空格是最好的,替换成'\0' 这样的字符串 :"it is: \n your fault"   你怎么办?

论坛徽章:
0
25 [报告]
发表于 2007-03-06 20:07 |只看该作者
原帖由 Alyd 于 2007-3-6 20:04 发表
替换成空格是最好的,替换成'\0' 这样的字符串 :"it is: \n your fault"   你怎么办?

楼主说的是字符串后有'\n'啊~

论坛徽章:
0
26 [报告]
发表于 2007-03-06 21:15 |只看该作者
while (getchar() != '\n')
  continue;

不知道楼主的意思是不是这样?

论坛徽章:
0
27 [报告]
发表于 2007-03-07 09:41 |只看该作者

如果是unicode的,怎么去掉?

unicode下面,换行还是用"\n"么?

论坛徽章:
0
28 [报告]
发表于 2007-03-07 11:36 |只看该作者
弱弱的问strtok(string,"\n")不可以吗

求职 : 数据库管理员
论坛徽章:
0
29 [报告]
发表于 2007-03-07 16:47 |只看该作者
不會是"hello world \r\n"

论坛徽章:
0
30 [报告]
发表于 2007-03-07 16:56 |只看该作者
上星期我刚处理过这个问题,就是用line[strlen(line)-1]='\0'.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP