作者:小甜甜龌龊的华丽 | 来源:互联网 | 2022-11-23 18:17
我从文件中读取了一些数据,并通过管道发送.当我从管道中读取数据时,有时会出现额外的字符.额外的字符也不一致,但通常在末尾是一个额外的"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终止符的长度.