Winsock编程通过空格char

时间:2017-10-08 12:40:08

标签: c string scanf

这是我下面的一段代码,我创建了一个可以相互通信的服务器和客户端。一切正常但是当我在我的消息中添加空格字符时,程序将它们视为两个不同的字符串,这意味着两个不同的消息。

所以当我输入Hello时,我会回来

Content-Length: 5;Hello

但是当我输入Hello dude时,我会回来

Content-Length: 5;Hello
Content-Length: 4;dude

以下是发送邮件的客户端的源代码。要接收我创建线程的消息,但它们都可以正常工作。我假设这与send()函数如何处理空格字符有关。我的问题是,如何将其视为一个真正的角色?

  char msgtobesent[256];
  memset(msgtobesent, '\0', 256);
  while(TRUE){

    scanf("%s", msgtobesent);
    int ll = strlen(msgtobesent);
    char theTotalMessage[19];
  //  memset(theTotalMessage, '\0', sizeof(theTotalMessage));
    sprintf(theTotalMessage, "Content-Length: %d;", ll);
    strcat(theTotalMessage, msgtobesent);
    printf("theTotalMessage: %s\n", theTotalMessage);
    send(connection, theTotalMessage, strlen(theTotalMessage) + 1, 0);
  }

0 个答案:

没有答案