fwrite管道到C代码中的电子邮件

fwrite pipe to email in c code

我正在尝试使用 popen 打开邮件进程的管道,并将内存映射数组 (shared_array) 写入电子邮件正文。电子邮件已发送,但仅列出 shared_array 的第一个条目。感谢任何帮助

FILE *fp;
char (*shared_array)[MAXLINE]
shared_array= mmap(0,100*MAXLINE,PROT_READ | PROT_WRITE,MAP_SHARED | MAP_ANON,-1,0);  


fp = popen("mail -s testing joe@smith.com","w");
for(k =0; k<total_count;k++){
    fwrite(shared_array[k],sizeof(shared_array[k]),1,fp);
}
    fwrite(".\n",sizeof(char*),3,fp);
    pclose(fp);

    printf("\n\nEmail Sent\n\n");
}

巴勃罗说得对。我需要使用 strlen

fwrite(shared_array[k],strlen(shared_array[k]),1,fp);