无法将字符串写入.txt文件

时间:2015-12-01 00:43:47

标签: c udp printf fclose

我正在写一个udp协议代码,服务器端的一个功能是将收到的字符串写入输出.txt文件。

以下是关于此问题的代码的一部分

for (;;) 
{

  fpout = fopen("out.txt","w");
  if(fpout == NULL){
    printf("Error!");
    exit(1);
  }

  int receive = 1;     
  while(receive)
  {
    bytes_recd = recvfrom(sock_server, &pkt, STRING_SIZE, 0, (struct sockaddr *) &client_addr, &client_addr_len);
    if(pkt.length == 0)
      receive = 0;
    printf("Server received Sentence is: %s\n     with length of %d\n", pkt.databytes, pkt.length);

    printf("Server received %d packet\n",pkt.seqnum);
    strcpy(sentence, pkt.databytes);
    fprintf(fpout, "%s", sentence);
  }
  fclose(fpout);
}

pkt是我传输的结构,pkt.databytes是我要写入.txt文件的字符串部分。 但是现在,没有任何内容写入out.txt文件。

1 个答案:

答案 0 :(得分:0)

谢谢你们,它有效。我认为关键是我错过了NUL终止,而且我也在fopen中改变了“a”而不是“w”。再次感谢。 - EricBkc