网口数据接收并保存成文件
我现在要做一个程序,从网口接收采集卡的数据并保存成文件,从接收网口300次数据(每次数据大约300个字),接收完300次数据后生成一个文件,然后接收另外的300个数据。采用UDP方式传输的,单次接收能得到数据,每次接收到的数据怎么和上次的数据怎么叠加,300次接收完成后,怎么处理?怎么保存成文件?,怎么重新开始接收?需不需要开一个进程来处理这个这个事件。谢谢,我是一个新手。
[解决办法]
仅供参考:
- C/C++ code
#include <stdio.h>#include <string.h>#define COUNT 300#define DATABYTES 300#define MAXN 10char buf[COUNT*DATABYTES];char *p;int i,n;char bytes[DATABYTES]FILE *f;char fn[256];int main() { while (1) { n=0; for (i=0;i<COUNT;i++) { //采集一次数据到bytes[]中 memcpy((void *)(buf+i*DATABYTES),(void *)bytes,DATABYTES); } n++; if (n>MAXN) break; sprintf(fn,"D:\\data%04d.bin",n) f=fopen(fn,"wb"); if (NULL==f) { printf("无法创建文件%s!\n",fn); return 1; } fwrite(buf,DATABYTES,COUNT,f); fclose(f); } return 0;}