C语言中的一些基本函数说明及使用
一、strlen
仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值。
与sizeof的区别
strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到'\0'停止。
char aa[10];cout<<strlen(aa)<<endl; //结果是不定的
char aa[10]={'\0'}; cout<<strlen(aa)<<endl; //结果为0
char aa[10]="jun"; cout<<strlen(aa)<<endl; //结果为3
而sizeof()返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen是函数。
二、gets
功能:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。
返回值:读入成功,返回与参数buffer相同的指针;读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针。所以在遇到返回值为NULL的情况,要用ferror或feof函数检查是发生错误还是遇到EOF。
转载于:https://www.cnblogs.com/wzlmzy/archive/2012/04/18/2454674.html
C语言中的一些基本函数说明及使用相关推荐
- stdio.h头文件中申明的基本函数
stdio.h头文件中申明的基本函数 调用scanf函数时,需传入变量的地址作为参数,scanf函数会等待标准输入设备(键盘等)输入数据,并且将输入的数据赋值给地址对应的变量. #include< ...
- c语言自动取数函数,C语言中取随机数的函数
匿名用户 1级 2009-08-11 回答 1. 基本函数 在C语言中取随机数所需要的函数是: int rand(void); void srand (unsigned int n); rand()函 ...
- 用计算机怎么计算r角度,R语言中的数学计算
原标题:R语言中的数学计算 前言 R是作为统计语言,生来就对数学有良好的支持,一个函数就能实现一种数学计算,所以用R语言做数学计算题特别方便.如果计算器中能嵌入R的计算函数,那么绝对是一种高科技产品. ...
- R语言中的数学计算(转载)
R语言中的数学计算 关于作者: 张丹(Conan), 程序员Java,R,PHP,Javascript weibo:@Conan_Z blog: http://blog.fens.me email: ...
- Linux c语言 creat参数,C++_使用C语言操作文件的基本函数整理,C语言creat()函数:创建文件函 - phpStudy...
使用C语言操作文件的基本函数整理 C语言creat()函数:创建文件函数 头文件: #include #include #include 定义函数: int creat(const char * pa ...
- Java 语言中的函数编程
Java 语言中的函数编程 利用闭包和高阶函数编写模块化的 Java 代码 如果您从事大型企业项目开发,您就会熟悉编写模块化代码的好处.良构的.模块化的代码更容易编写.调试.理解和重用.Java 开发 ...
- [转载]Java 语言中的函数编程
Java 语言中的函数编程 如果您从事大型企业项目开发,您就会熟悉编写模块化代码的好处.良构的.模块化的代码更容易编写.调试.理解和重用.Java 开发人员的问题是,函数编程范型长期以来只是通过像 H ...
- Go 知识点(19)— Go 语言中的野指针
野指针是一种指向内存位置是不可知的指针,一般是由于指针变量在声明时没有初始化所导致的.在 Go语言中,布尔类型的零值为 false,数值类型的零值为 0,字符串类型的零值为 "", ...
- c语言中字符串数组的地址存放以及%s输出单个字符导致程序崩溃的问题
代码 总结下c语言中字符串数组的地址存放问题 #include <iostream> using namespace std; #include<bits/stdc++.h>i ...
- 单片机c语言中的循环语句,单片机c语言教程:C51循环语句
循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的( ...
最新文章
- MySQL ERROR 1878 解决办法
- hive创建mysql表,hiveMysql创建、修改、删除字段/表
- Python学习-基础篇3-函数篇(2)
- Gradle 设置 本地maven仓库及发布mavenLocal()路径的方法
- easyui from 缓存问题处理
- Python学习笔记:Dict和Set
- 宋体、文件-Ubuntu Linux中配置adb-by小雨
- 用Python的Tultle模块创建一个五角星
- 第二个Spring冲刺周期团队进展报告
- 每日一例飞鸽传书2012偷偷来袭
- 华为p20有没有计算机,用华为P20不知道这三个功能就亏大了!第一个很少人知道!...
- Stanford机器学习---第三讲. 逻辑回归和过拟合问题的解决 logistic Regression Regularization
- Android中利用LinearLayout动态添加控件
- 写PHP还是Zend好用
- 2021年中国人口数量、人口结构现状、男女比例及人口增长情况分析[图]
- Metpy_气象物理量计算(相对湿度、露点温度、湿位涡等)
- nlp自然语言处理_自然语言处理中的偏见nlp是一个危险但可解决的问题
- SAP 后台表查询方法及消息报错定位方法
- 【愚公系列】2023年02月 .NET CORE工具案例-Lunar日历转换
- 网络三维虚拟展馆开发优势
热门文章
- 涿州有没有java_谁说涿州没有方言?
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_24-页面预览-页面预览测试
- 阶段3 1.Mybatis_08.动态SQL_02.mybatis中动态sql语句-where标签的使用
- 一、 kettle开发、上线常见问题以及防错规范步骤
- memcache简单操作
- WPF中使用ItemsControl嵌套绑定,在ItemsControl中嵌套一个ItemsControl,然后使用绑定(2)...
- java笔记:SpringSecurity应用(二)
- java实现kafka发送消息和接收消息(java无注解方式+springBoot注解方式)
- jstl有什么优势(简单介绍)
- 剑指offer-面试题37:序列化二叉树及二叉树的基本操作和测试