fgets()函数以及fputs()函数
fgets()
fgets() 该函数是一个文件操作相关的函数 暂时使用这个函数可以从键盘接收一个字符串,保存到字符数组中 原来接收字符串保存到数组中的方法: char str[50]; 1) scanf("%s",str); //缺点:不能接收空格 2)gets(str); //优点:可以接收空格 //缺点:会有一个不安全的警告 fgets()是一个安全的字符串接收的函数 char ch[5];//如果使用fgets,此时数组中最多存放4个可见字符 //会自动的把数组的最后一个元素存放\0 fgets()使用格式: fgets(数组名,数组长度,stdin); 例如: char ch[5] //fgets从输入缓冲区读取一个字符串保存到字符数组中 //当输入的字符串的长度大于数组的长度,此时fgets会自动的 //把数组的最后一个元素变成\0 //当输入的字符串的长度小于数组长度的时候,fgets还会接收回车 fgets(ch,sizeof(ch),stdin); //去掉多余的\n if(ch[strlen(ch)-1]=='\n')ch[strlen(ch)-1]='\0';
fputs()
fputs(); 也是一个文件操作相关的函数 格式: fputs(数组名,stdout); 例如: fputs(ch,stdout); fputs是不会自动换行 fputs也不能进行格式化的输出
fgets() 和 fputs()最大的优点是,自动截取输入的字符串,使得我们对字符串的存储是安全的