gpt4 book ai didi

c - 如何从字符数组中提取字符

转载 作者:太空宇宙 更新时间:2023-11-04 01:14:36 24 4
gpt4 key购买 nike

我正在尝试从缓冲区中提取 char 数组,但在提取第一个 char 数组后停止工作。

char *msg = "1~Message~ILOVEYOU\r\n2~Message~Doyouloveme?\r\n3~Message~OfcourseIdo!Not!\r\n";
char tempbuffer[1024];
char *tbuf;

tbuf = &tempbuffer[0];

/* Start parsing */
while (*msg != '\0') {

while(*msg != '\n') {

while (*msg != '\r') {
*tbuf = *msg;
msg++;
tbuf++;
} /* closing '\r' */

msg++;
tbuf++;
} /* closing '\n' */

*tbuf = '\0';

/* Printout buffer for debugging purposes */
printf("x %s\n", tempbuffer);

/* Clear tempbuffer before starting to parse the buffer again */
memset(tempbuffer, 0, sizeof((char) 1024));
} /* closing '\0' */

return 0;

}

printf 显示 1~Message~ILOVEYOU 并停止工作。我期待以下输出

1~Message~ILOVEYOU
2~Message~Doyouloveme?
3~Message~OfcourseIdo!NOT!

有什么想法吗?

最佳答案

在开始第二个和后续循环之前,您需要重置 tbuf 以指向 tempbuffer 的开始。

关于c - 如何从字符数组中提取字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4507267/

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