小编Rog*_*era的帖子

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

我从文件中读取了一些数据,并通过管道发送.当我从管道中读取数据时,有时会出现额外的字符.额外的字符也不一致,但通常在末尾是一个额外的"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 < nClients; i++)
    { 
        if((clients[i] = fork()) == 0) 
        { 
            clientFunction(file_name_HTML, server_access_request);
        } 
    }
    .....
}

int getHTMLFilesIntoPipe(int *file_name_HTML)
{
    int i, n = 0;
    char (*lines)[MAXCHAR] = NULL;
    FILE *fp;
    fp = fopen("./data/listado_html.txt", "r");

    if (!fp) {  /* valdiate file open for reading */
    err_exit("error: file open failed.\n");
    }

    if (!(lines = …
Run Code Online (Sandbox Code Playgroud)

c pipe

1
推荐指数
1
解决办法
60
查看次数

标签 统计

c ×1

pipe ×1