gpt4 book ai didi

用于传入字符串的 c 字符串操作

转载 作者:行者123 更新时间:2023-12-03 11:52:48 26 4
gpt4 key购买 nike

我是 C 的新手,想知道如何做这样的事情:

我有一个像这样通过套接字进入的字符串(它可能会有所不同)

"GET OK 1045 \r\nTHE RED RIDING HOOD"

现在我可能会大块地得到它,而不是完全喜欢
"GET OK 10"

后来
"45 \r\nTHE RED RIDING HOOD"

找到 \r\n 时最好的拆分方式是什么?并将它之前的内容存储在一个变量中,并将它之后的内容存储在另一个变量中。

我试过 strtok()但它只是变得困惑并且出现错误

我试过 sscanf()但是因为我可能会得到 block ,所以我永远无法将它正确格式化为我的变量。我确信我有一个简单的方法可以在一个 while 循环中做到这一点,但 split 是让我感兴趣的。
 while((items_read = read(sock, stories_buffer, BUF_SIZE)) > 0) {
//how do i check on stories_buffer as it comes and split it based on delimiter \r\n
}

最佳答案

您可以将套接字包装到缓冲 IO 中并使用 stdio 函数,如 fgets()在上面:

FILE *f = fdopen(sockfd, "w");
fgets(buf, sizeof(buf), f);

这应该是基于线路的网络协议(protocol)的最佳选择。

关于用于传入字符串的 c 字符串操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59824638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com