当前位置: 网站首页>网站建设>400电话办理

【网站优化】专业网站建设-网站设计-网站制作与网站开发-高端品牌企业宣传策划-拉萨上往建站【简单基础中小型网站】

发表日期: 2022-09-01 14:40:37 浏览次数:71

上往建站提供网站建设网站推广网店设计网站建设企业网站网站制作网页设计网站建设企业网站制作网页制作   高端定制网站建设H5页面设计开发微网站微信运营移动端设计开发手机端网站小程序,致力于苏州企业网站建设与公司网站制作,全国用户超10万,10余年的网站开发和建站经验,主营:网站建设网络推广微信公众号代运营、商城小程序开发定制网店设计等业务,专业团队服务,效果好。。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)

专业网站建设-网站设计-网站制作与网站开发-高端品牌企业宣传策划-拉萨上往建站

网站建设.png

  1. linux系统下需要这样编译:不支持 gets 与 puts, 需要用 fgets 和 fputs。

    将以下代码放到 test.c 文件:

    #include <stdio.h>int main(){
        char c[100];
        printf("Enter a value:");
        fgets( c,100,stdin );
    
        printf("
    you entered:");
        fputs( c,stdout );
    
        return 0;}

    编译执行以上代码,输出结果为:

    # gcc test.c # ./a.out Enter a value:runoob
    
    you entered:runoob
    ms0

       ms0

      261***255@qq.com

    6年前 (2017-03-12)
  2.    simone

      183***1483@qq.com

       参考地址

    44

    gets()与fgets()

    gets()

    gets函数原型:char*gets(char*buffer);//读取字符到数组:gets(str);str为数组名。

    gets函数功能:从键盘上输入字符,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。

    读取的换行符被转换为null值,做为字符数组的最后一个字符,来结束字符串。

    注意:gets函数由于没有指定输入字符大小,所以会无限读取,一旦输入的字符大于数组长度,就会发生内存越界,

    从而造成程序崩溃或其他数据的错误。

    fgets()

    fgets函数原型:char *fgets(char *s, int n, FILE *stream);//我们平时可以这么使用:fgets(str, sizeof(str), stdin);

    其中str为数组首地址,sizeof(str)为数组大小,stdin表示我们从键盘输入数据。

    fgets函数功能:从文件指针stream中读取字符,存到以s为起始地址的空间里,直到读完N-1个字符,或者读完一行。

    注意:调用fgets函数时,最多只能读入n-1个字符。读入结束后,系统将自动在最后加'',并以str作为函数值返回。

    借用教程实例,我把char str[100] 改为 char str[5]


    #include <stdio.h>int main( ){    char str[5];    printf( "Enter a value :");    gets( str );    printf( "
    You entered: ");    puts( str );    return 0;}

    如果输入123(长度小于5)结果为:

    Enter a value :123You entered: 123

    如果输入123456789(长度大于5)结果为:

    Enter a value :123456789You entered: 123456789

    虽然正常显示了,但是系统提示程序崩溃了

    如果不能正确使用gets()函数,带来的危害是很大的,就如上面我们看到的,输入字符串的长度大于缓冲区长度时,并没有截断,原样输出了读入的字符串,造成程序



You entered: 123

如果输入123456789(长度大于5)结果为:


Enter a value :123456789


You entered: 123456789

虽然正常显示了,但是系统提示程序崩溃了


如果不能正确使用gets()函数,带来的危害是很大的,就如上面我们看到的,输入字符串的长度大于缓冲区长度时,并没有截断,原样输出了读入的字符串,造成程序崩溃。

考虑到程序安全性和健壮性,建议用fgets()来代替gets()。如:

#include <stdio.h>


int main( )

{

    char str[5];


    printf( "Enter a value :");

    fgets( str,5,stdin );      //fgets()函数;


    printf( " You entered: ");

    puts( str );

    return 0;

}

simone

   simone


  183***1483@qq.com


   参考地址


6年前 (2017-03-23)

   Mrodot


  mro***@qq.com


   参考地址


27

Windows、Unix、Mac不同操作系统的换行问题 回车符和换行符

一、概念:


换行符‘ ’和回车符‘’


(1)换行符就是另起一行  --- ' ' 10 换行(newline)


(2)回车符就是回到一行的开头 --- '' 13 回车(return)


所以我们平时编写文件的回车符应该确切来说叫做回车换行符  


CR: 回车(Carriage Return) LF: 换行(Line Feed)


二、应用:


(1)在微软的MS-DOS和Windows中,使用“回车CR('')”和“换行LF(' ')”两个字符作为换行符;


(2)Windows系统里面,每行结尾是 回车+换行(CR+LF),即“ ”;


(3)Unix系统里,每行结尾只有 换行LF,即“ ”;


(4)Mac系统里,每行结尾是 回车CR 即''。


Mac OS 9 以及之前的系统的换行符是 CR,从 Mac OS X (后来改名为“OS X”)开始的换行符是 LF即‘ ',和Unix/Linux统一了。


三、影响:


(1)一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;


(2)而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。


(3)Linux保存的文件在windows上用记事本看的话会出现黑点。


四、可以相互转换:


在linux下,命令unix2dos 是把linux文件格式转换成windows文件格式,命令dos2unix 是把windows格式转换成linux文件格式。


在不同平台间使用FTP软件传送文件时, 在ascii文本模式传输模式下, 一些FTP客户端程序会自动对换行格式进行转换. 经过这种传输的文件字节数可能会发生变化.


 如果你不想ftp修改原文件, 可以使用bin模式(二进制模式)传输文本。


一个程序在windows上运行就生成CR/LF换行格式的文本文件,而在Linux上运行就生成LF格式换行的文本文件。


Mrodot

   Mrodot


  mro***@qq.com


   参考地址


5年前 (2018-01-12)

   halo


  g51***vip.qq.com


83

学 C 语言的时候,字符输入曾经困扰过我,例如这段代码:


int i;

char c;

scanf("%d%c", &i,&c);

这时候变量 c 中存储的往往不是你想输入的字符,而是一个空格,然后我们又会这样来写:


int i;

char c;

scanf("%d", &i);

scanf("%c", &c);

这时候,我们发现,根本没有输入字符C的机会,这是为什么?因为输入流是有缓冲区的,我们输入的字符存储在那,然后再赋值给我们的变量。我们可以这样改:


int i;

char c;

scanf("%d", &i);

while((c=getchar())==' ' || c==' ');

c = getchar();

这个办法是一直读取,读到没有空格和换行就跳出循环,但是有一个更好的解决办法;


int i;

char c;

scanf("%d%[^' '^' ']", &i, &c);

这是用正则表达来控制输入格式为非空格非换行。


halo

   halo


  g51***vip.qq.com


4年前 (2018-04-05)

   CSTwang


  248***3362@qq.com


38

在进行输出时,若要用到用来输出实数的 f 格式符(以小数形式输出),有以下几种用法:


1、基本型,用 %f


不指定输出类型的长度,用系统根据情况决定,一般是实数中的整数部分全部输出,小数部分输出六位。例:


#include<stdio.h>

int main()

{

    double a=1.0;

    printf("%f ",a/3);

    return 0;

}

运行结果:0.333333


专业网站建设-网站设计-网站制作与网站开发-高端品牌企业宣传策划-拉萨上往建站


上往建站提供微信小程序+公众号商城+企业网站建设一站式微信网站商城营销系统,微信小程序是一种依附于微信体内即点即用,无需下载安装即可使用的轻应用,它开启了移动端“触手可及”的梦想,致力于苏州企业网站建设与公司网站制作,全国用户超10万,10余年的网站开发和建站经验,主营:网站建设微信公众号代运营商城小程序开发定制网店设计等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


400-111-6878
服务热线
顶部

备案号: 苏ICP备2021016738号-6

CopyRight © 2021 上往建站 All Right Reserved 未经许可不得复制转载

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: https://www.768800.club  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

全国服务热线:400-111-6878