精华内容
下载资源
问答
  • C语言输入换行符

    万次阅读 2019-06-24 16:00:47
    文章目录gets()函数fgets() 函数 gets()函数 #include <stdio.h> #include <stdlib.h> #define LEN 10 int main() { char str[10]; int result; //fgets(str, LEN, stdin);... result = strcmp(str,...

    gets()函数

    #include <stdio.h>
    #include <stdlib.h>
    
    #define LEN 10
    int main()
    {
    	char str[10];
    	int result;
    	//fgets(str, LEN, stdin);
    	gets(str);
    	result = strcmp(str, "\n") == 0 ? 1 : 0;
    	printf("result = %d \n", result);
    
    	system("pause");
    	return 0;
    }
    

    在这里插入图片描述

    fgets() 函数

     #include <stdio.h>
    #include <stdlib.h>
    
    #define LEN 10
    int main()
    {
    	char str[10];
    	int result;
    	fgets(str, LEN, stdin);
    	result = strcmp(str, "\n") == 0 ? 1 : 0;
    	printf("result = %d \n", result);
    
    	system("pause");
    	return 0;
    }
    

    在这里插入图片描述

    展开全文
  • C语言回车符号和换行符

    万次阅读 2015-08-21 17:45:49
    C语言在向计算机输入文本文件时,将回车换行符转换为换行符,在输出时把换行符转换成回车和换行两个字符。 在用二进制文件时,不进行这种转换,在内存中的数据形式与输出到外部文件中的数据形式完全一致,一一...

    C语言在向计算机输入文本文件时,将回车换行符转换为换行符在输出时把换行符转换成回车和换行两个字符。

    在用二进制文件时,不进行这种转换,在内存中的数据形式与输出到外部文件中的数据形式完全一致,一一对应。

     

    c语言中怎样知道文件中的换行符是<cr>还是<crlf>   
        
      回答是:这是一个实现相关的问题。   
        
      首先纠正一下你说法中的错误:<cr>是回车,在C中就是字符'\r';换行是<lf>,是字符'\n'。   
        
      在Windows环境中,如果输入到文本文件,程序中的一个'\n'换行符被解释成'\r'、'\n'两个字符(会车、换行);相反,如果读取文本文件,文件中的相邻的两个'\r'、'\n'会合并为一个'\n'输出。   
        
      而在Unix/Linux环境下,'\n'就是'\n',保持不变。   
        
      因此,Windows下的文本文件和Unix/Linux下的文本文件的格式是不同的,其原因就在于对于程序中的'\n'换行符的解释不同。

    n,换行符(软回车和走纸)   
      是换行走纸,没有回车,回车是由'\r'实现   
      在UNIX中,早期的输入通常是穿孔机,没有什么回车概念。在DOS中,由于是屏幕输入,通常就有了'\r''\n'的区别,为了保证每次换行都能从头开始,DOS中的换行符通常会被存储为'\r\n';getchar是标准流接受函数,不识别'\r',getche是有回显的屏幕截取函数,不识别'\n'。

    文本文件以文本显示和以二进制显示,回车键对应的一个是0a,一个是0d,0a。为何?


    转自 http://blog.sina.com.cn/s/blog_8c7bf19701010yat.html


    展开全文
  • C语言去掉字符串的换行符

    千次阅读 2019-10-12 10:00:47
    去掉字符串结尾的\n换行号 char *tmp = NULL; 129 if ((tmp = strstr(search_value, "\n"))) 130 { 131 *tmp = '\0'; 132 }

    去掉字符串结尾的\n换行号

    char *tmp = NULL;
    if ((tmp = strstr(search_value, "\n")))
    {
         *tmp = '\0';
    }
    
    展开全文
  • C语言换行符\n可以换行,还能有什么作用?,还能在什么地方用得上?
  • C语言换行符问题

    千次阅读 多人点赞 2019-05-01 19:40:02
    在缓冲输入中,换行符的确是个麻烦的问题,在这里做一个总结。 1.getchar() 记住:getchar()函数 读取每一个字符!每一个!包括空格,制表符和换行符。 错误代码: while(getchar()!=‘y’) printf(“Well,then it ...

    在缓冲输入中,换行符的确是个麻烦的问题,在这里做一个总结。
    1.getchar()
    记住:getchar()函数 读取每一个字符!每一个!包括空格,制表符和换行符。
    错误代码:
    while(getchar()!=‘y’)
    printf(“Well,then it is %d?\n”,++guess);
    这里会出现输入一个n,但是出现两句“Well……”
    原因是因为换行符也被传输进去了。
    换行符当然不等于’y’,所以输出两次!
    正确代码:
    while(getchar()!=‘y’)
    {
    printf("………");
    while(getchar()!=’\n’)
    continue;
    }

    2.scanf()
    记住:scanf()读取数字时会跳过空格,制表符和换行符。并且是把换行符 留在输入队列中!是留在!!!
    如果读取数字时,你输入了非数字的字符,那么它也是把它留在输入队列!是留在!!!
    错误代码:
    while((ch=getchar())!=’\n’)
    {
    scanf("%d %d",&a,&b);
    display(a,b,ch); //一个函数
    }
    输入一次运行正常,但到第二次,就不正常了。还没等你输入,就退出了。
    原因就是scanf()把换行符留在了队列中,所以当输入ch后,按下了回车,输入队列中还剩下了’\n’
    但是,scanf是不读’\n’的。所以第二次执行while循环时,getchar读取的是’\n’。所以就退出了。
    正确代码:
    while((ch=getchar())!=’\n’)
    {
    scanf("%d %d",&a,&b);
    while(getchar()!=’\n’)
    continue;
    display(a,b,ch);
    }
    3.gets()
    记住:gets()是输入一整行的。它是 丢弃换行符!记住,是丢弃!!!而puts()是自带换行符的。所以二者搭配使用。
    使用gets()的危险在于,可能会导致缓冲区溢出(buffer overflow)。如果这些多余的字符擦去了重要程序数据,会导致程序异常中止!
    4.fgets()
    记住:fgets()会把换行符放在字符串末尾!也就是 读取换行符!!!而fputs()不会自带换行符,所以二者搭配使用。
    另外,fgets()有三个参数,第一个是数组地址,第二个是读入字符最大数量,第三个是指明要读入的文件。
    错误代码:
    fgets(words,SLEN,stdin);
    puts(words);
    这会导致多个空行!
    应该改成fputs(words);
    如何处理掉fgets()中读取的换行符?
    (1)
    int i=0;
    while(words[i]!=’\n’)
    i++;
    words[i]=’\0’;
    (2)
    如果你想舍弃未读取的字符,干脆
    while(getchar()!=’\n’)
    continue;
    简单粗暴,换行符也一同没了。
    4.gets_s()
    记住:gets_s()函数读到换行符,是 舍弃!舍弃啊!!! 另外,gets_s()只有两个参数,因为只从标准输入中读取数据,所以跟fgets()相比不需要第三个参数。

    展开全文
  • c语言换行符的使用注意事项

    千次阅读 2020-09-04 09:53:36
    在进行宏定义时,若遇到代码较多,需要我们进行换行...这里就要使用到换行符。在使用换行符时,一定要注意: "\"后不能再有任何字符,连注释部分都不能有,"\"后面加一个空格都会报错,更不能跟注释。切记!!! ...
  • 几天研究Xshell控制台的串口打印,顺便梳理下回车换行符。 知识点 回车,类似于电脑键盘上的【Enter】键,那换行呢?怎么理解呢? 描述 英文描述 符号 ASCII码值 回车符 (CR, Carriage ...
  • C语言换行符回车符的区别

    万次阅读 2012-03-19 12:56:59
     能不能说“换行符就是输入完一行内容后,光标转到下一行的起始位置”,而“回车符就是输入完一行后光标转到该行的起始位置,其并不换行”?如果是,那我们平时在键盘上用的 Enter 和 Tab 又属于什么符呢??? ...
  • C语言文件读写操作之换行符处理

    千次阅读 2020-08-04 00:11:52
    getc,fgetc: -1代表结束符,不但能接收键盘输入的内容,也能从文件中读取一个字符; getchar() 等价于 getc(stdin);...t模式写入文件时会将\n的换行符,在写入时加入\r称为\r\n的换行符形式 b模式是按文件原本的\
  • 【转】C语言换行符回车符的区别 2012-02-21 11:19 转载自 guorendong 最终编辑 it_chinese 能不能说“换行符就是输入完一行内容后,光标转到下一行的起始位置”,而“回车符就是输入完一行后...
  • C语言中的回车换行的含义及表示

    千次阅读 2019-11-09 10:33:41
    \r 是return的简写,表示光标重新回到本行开头。其缩写CR是carriage return就是回车的意思。 \n 是new line的简写,表示光标垂直向下移动一。其缩写LF是Line Feed就是换行的意思。 ...
  • 摘要:C语言中,我们常常从终端输入,并且输出到终端,键盘上的回车,输入到缓冲区以后,变成了什么字符?是‘\0’还是‘\n’?回车与换行有什么区别?本文主要为你讲解C语言中的换行、回车等控制字符,帮助区别它们...
  • 之前的博客提到了怎样对长度不确定且无法估计的文本文件进行按行读取的问题,这次我发现了一个每一行的末尾换行符处理的问题以及fgets的一个特性,这都是我之前没有注意到的地方。 文章目录1.每行末尾换行符的处理...
  • 不包括回车换行符)。输出统计数字顺序:字母、数字、其它。如果某项统计为0,则不要输出它;最后一行输出后,不要回车换行。 <p><strong>提示:  对于一行字符的输入&...
  • C 语言中的回车换行符

    千次阅读 2011-01-22 13:15:00
    #include #include void main(){ char var; var = getch(); printf("%d/n",var); //打印 var 的值,应为 13 while(var == '/r') { printf("hello/n"); scanf("%c",&var); //这里产生一个空行 printf("%d/n...
  • 妥善处理C语言缓冲区的换行符

    千次阅读 2018-07-01 08:33:34
    但是按下回车键的同时,一个换行符也留在缓冲区中了,如果处理的不好,也许程序的运行结果并不是你想要的那样,甚至会莫名其妙。相信很多初学者都遇到这个问题,那么我就来详细聊聊其中的坑吧。扫描下面的二维码预定...
  • Unix 系统里,每结尾只有“<换行>”,即“\n”;Windows系统里面,每结尾是“<换行><回车>”,即“\n\r”;Mac系统里,每结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在...
  • c语言程序设计 练习题1-8 编写一个统计空格,制表符与换行符个数的程序 #include <stdio.h> /* 编写一个统计空格,制表符与换行符个数的程序 */ int main() { static int space_number = 0; static int ...
  • 目录目的解决scanf()跳过空白、fgets()保留换行符的问题第一次代码审查代码解决 目的 创建一个书类结构体,循环读取书名、作者和价格 解决scanf()跳过空白、fgets()保留换行符的问题 所以创建了一个s_gets()函数,...
  • 回车符与换行符的区别

    千次阅读 2018-09-05 13:05:32
    引用了博客: ...可以看到按下一一次回车键增加两个字节,所以我们不难得出:window 系统末结束是\r\n。 那在用C语言读取文件时会出现什么样的情况呢?下次再来研究这个问题。        
  • 计算机中换行符回车符的区别

    千次阅读 2019-10-28 17:06:42
    计算机中换行符回车符的区别
  • 比如我有这样一段代码: ...而我们常见的是不加换行符的情况,这样确实只需要输入3次,可以都在一排输入,也可以换行输入: 输入完之前的任何一次按下空格键、Tab键、回车键,都不会被scanf读入,只要记得输入完
  • 缓冲输入遇到getchar()的while循环时,可能会造成循环没办法迭代,早早的就由于输入时键盘输入的回车键产生的换行符推出循环 例: #include<stdio.h> void coco(char op,int jk,int ed); int main() { char ...
  • 需要情况1:当接受字符ch前面有scanf语句时,必须要用空的getchar()来吃掉回车, #include"stdio.h" int main() { char a,ch; scanf("%c",&a); getchar();//如果没有,ch接受到的就是空格 ch=getchar();...
  • 关于制表符、回车符和换行符的使用介绍
  • c语言中scanf函数读取换行符的问题

    千次阅读 2020-12-14 20:41:11
    在我们使用c语言的过程中经常会遇到一个小问题,就是在我们使用scanf这个函数时,尤其和循环体一起使用时例如 while (scanf("%c %c", &a, &b) != EOF) 这种,我们在输入结束后,会按下回车来表示我们输入...
  • ![图片说明](https://img-ask.csdn.net/upload/201512/15/1450175181_936941.png) 如图,我从文件中fgets一个字符串,输出结果自带一个换行符 而且不能通过图中方式赋值 求大神帮忙,应该怎么赋值 为什么会自带换行
  • 原来是输入流里有一个换行符,要先用一个getchar吸收掉换行符
  • C语言换行符回车符的区别

    千次阅读 2017-07-14 15:40:46
    C语言中,换行,回车分别是'\n'和\r'; 换行,是到下一回车,只是回到本行开头。 在windows/dos系统中,我们通常说的回车,也就是键盘的enter键实际包含了回车换行。在这样的系统中,'\n'的作用不仅仅是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,362
精华内容 10,944
关键字:

c语言回车换行符

c语言 订阅