我正在尝试使用 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);
关于c - 在 C 代码中将管道写入电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48957466/