热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从管道读取不一致的字符串

如何解决《从管道读取不一致的字符串》经验,为你挑选了1个好方法。

我从文件中读取了一些数据,并通过管道发送.当我从管道中读取数据时,有时会出现额外的字符.额外的字符也不一致,但通常在末尾是一个额外的"R".

我从文件中读取的数据是正确的,因为它始终是应该的.只有在从管道上读到它后才会遇到问题.

你能帮我找到错误吗?我多年来一直盯着这个,我找不到它.

这是我的代码中给我带来麻烦的一部分.

谢谢你的帮助.

int main (int argc, char **argv) {

    int nClients;
    int file_name_HTML[2];

    create_pipes(file_name_HTML, server_access_request);
    init_free_pipes();

    nClients = getHTMLFilesIntoPipe(file_name_HTML);
    int clients[nClients];

    for(int i=0; i 

预期输出:abcd1.html

abcd2.html

abcd3.html

abcd4.html

abcd5.html

当前输出:abcd1.htmlR

abcd2.htmlR

abcd3.htmlR

abcd4.htmlR

abcd5.htmlR



1> kiran Birada..:

这是因为你的字符串不是null(\0)终止.

当你写入除了null(\0)终止符之外的管道.

write(file_name_HTML[WRITE], lines[i], strlen(lines[i])+1);
                                                        ^--- +1 to include null character.

strlen 返回不包括null终止符的长度.


推荐阅读
author-avatar
小甜甜龌龊的华丽
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有