gpt4 book ai didi

c 删除新行字符帮助

转载 作者:太空宇宙 更新时间:2023-11-04 00:27:21 30 4
gpt4 key购买 nike

如果这是一个愚蠢的问题,我很抱歉!

我有这个:

  fgets(question,200,stdin);
char *memq = malloc(sizeof(strlen(question)));
memq= question;

但是问题变量的末尾总是有一个新行!我该如何删除它/防止它发生?

我已经试过了:

  fgets(question,200,stdin);
char *memq = malloc(sizeof(strlen(question))-sizeof(char));
memq= question;

没有效果!

最佳答案

要去掉换行符,在你的 malloc 之前,做:

question[strlen(question)-1] = 0;

另一种方法(在下面的评论中建议)是改为执行以下操作:

question[strcspn(question, "\n")] = '\0';

将 malloc 行更改为:

char *memq = malloc(strlen(question)+1);

更改分配行:

memq = question;

到:

strcpy (memq, question);

关于c 删除新行字符帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4442294/

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