gpt4 book ai didi

c - 通过scanf输入字符串

转载 作者:太空宇宙 更新时间:2023-11-03 23:57:35 26 4
gpt4 key购买 nike

我想问一下有没有办法通过scanf在字符串中输入空白,我正在使用这个 [^\n] 来输入不包括换行符的内容。它是否正确?但是由于它似乎存储在输入缓冲区中而产生了很多问题。输入字符串的最佳方式是什么。获取和fgets 造成了很多问题,

        while(strcmp(buf,"quit"))
{
scanf("%*[^\n]",buf);
n=send(connected,buf,strlen(buf),0);
if(n<0)
{
perror("send");
printf("error sending");
exit(1);
}
//printf("server has send\n");
n=recv(connected,buf,100,0);
if(n<0)
{
perror("recv");
printf("error recieving");
exit(1);
}
//printf("waiting to recieve something\n");
buf[n]='\0';
printf("client:%s\n",buf);
}

这会造成无限循环,同样的事情会一次又一次地重复。

最佳答案

读取一行输入的更好方法是

char line[128]; /* Or whatever. */

while(fgets(stdin, line, sizeof line) != NULL)
{
/* Filter out whitespace before checking tokens. */
}

关于c - 通过scanf输入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/782136/

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