c - 使用 fgets() 在同一行打印两个字符串

标签 c string linked-list printf fgets

我想使用 fgets() 打印用户输入的两个字符串。 fgets() 允许我存储带有空格的字符串并用回车键终止它。以下是示例代码:

fgets(tTemp ->string, 51, stdin); fflush(stdin);

现在将其打印到屏幕上:

printf("%s", temp->string); printf(":%s", temp->string2); 
//assuming there are 2 strings

我现在希望它们在同一行上打印,格式如下:

string:string1

但是以下代码的结果是:

string

:string

我怎样才能制作\n从 fgets 到当我打印以获得我想要的格式时不显示?

最佳答案

删除字符串中换行符的最简单方法是将其字符 (\n) 替换为空字符 (\0):

char *ptr = tTemp->string;
ptr[strlen(ptr)-1] = '\0'

关于c - 使用 fgets() 在同一行打印两个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13785895/

相关文章:

c - 将节点添加到全局链表导致崩溃

c - C中的反向链表程序

c - printf 期间数据被修改

c - 为什么我的数据包读取程序返回不正确的数据?

c - 释放它们后真的应该将指针设置为 `NULL` 吗?

java - 检查字符串是否有允许值以外的值。 java

java - 用Java制作一个名称生成器,将生成的字符数量限制为12个,但不会截断单词?

c - 链接和使用头文件有什么区别?

无法计数 - 比较操作的次数

string - Groovy - 两个闭包调用的故事