C语言中的一些输入输出

 一 常用函数:

1.getchar()  与 scanf()

    首先他们都是从stdin里读取数据,并不是直接从键盘读取,实际上,当我们从键盘中输入数据时,他们会保存到缓冲区内,并与相应的ascii对应,所以空格,换行符等也会保存到缓冲区中,若用getchar(),则直接读取一个字符(任意),而scanf(),则可以读取任意类型的数据,在一般的数据类型中,比如字符串,整型,实型中,都是以空格,回车,tab等作为结束符,当让也可以通过设置一些标点作为结束符。另外,要注意一些特殊情况上空格回车被当作字符输入进去,对于getchar()尤其要注意。

2.strtok()

       首先,要明确这个函数char* strtok (char* str,const char* delimiters );str是要切割的字符串,delimiters是分割符

#include<stdio.h>
#include<string.h>
int main(void)
{
	char buf[] = "I2,fasfasd,sfsadfdsa,21";
	char*temp = strtok(buf, ",");
	while (temp)
	{
		printf("%s ", temp);
		temp = strtok(NULL, ",");
	}
	return 0;
}

当strtok()在str中发现分割符时,会将该字符改为‘\0’,并返回被分割出子字符串的指针,除了第一次调用需要str,其他时候都不需要参数,因为它把剩余字符串存放到静态变量中去了。而strtok_s,则是存放在buff变量中去。char *strtok_s( char *strToken, const char *strDelimit, char **buf); 

3.杂谈:

     1. 对于char * data数组进行赋值时,可以通过strcpy(des,src),注意strcpy会copy srcl里的结束符‘\0’,另外还有strncpy,mencpy

	char *a = "coda";
	char b[30] = "you are the best one.";
	char *p;
	p = strcpy(b + 8, a);
	puts(p);   //直接输出coda

     2.将字符数组转换成数字,atoi(),或者,自己写一个(char-'0')之类的函数。

      3.关于malloc声明中,type malloc(空间大小)

                     感觉这篇文章写的还不错,推荐一下https://www.cnblogs.com/Commence/p/5785912.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值