Linux使用标准IO的调用函数,分3种形式实现
/*
根据cp命令的格式要求,设计一个类cp的功能程序,要求使用标准IO的调用函数,分3种形式实现,字符,行,块。并注意函数功能的分层
*/
#include<stdio.h>
#include <unistd.h>
/*fgetc fputc 一个字符*/
int cpchar(char *src, char *des)
{
FILE *fpsrc,*fpdes;
char ch;
fpsrc = fopen(src, "r");
if(fpsrc==NULL)
{
printf("open src fail\n");
return -1;
}
fpdes = fopen(des, "w");
if(fpdes==NULL)
{
printf("open des fail\n");
return -1;
}
while(1)
{
if((ch=fgetc(fpsrc))!=EOF)
{
fputc(ch,fpdes);
printf("%c",ch);
}
else
{
break;
}
}
fclose(fpsrc);
fclose(fpdes);
return 0;
}
/*fgets fputs 一行*/
int cpline(char *src, char *des)
{
FILE *fpsrc,*fpdes;
char buf[1024];
fpsrc = fopen(src, "r");
if(fpsrc==NULL)
{
printf("open src fail\n");
return -1;
}
fpdes = fopen(des, "w");
if(fpdes==NULL)
{
printf("open des fail\n");
return -1;
}
while(1)
{
if(fgets(buf,1024,fpsrc)!=NULL)
{
fputs(buf,fpdes);
printf("%s",buf);
}
else
{
break;
}
}
fclose(fpsrc);
fclose(fpdes);
return 0;
}
/*fread fwrite 一块*/
int cpblk(char *src, char *des)
{
FILE *fpsrc,*fpdes;
char buf[1024];
int num;
fpsrc = fopen(src, "r");
if(fpsrc==NULL)
{
printf("open src fail\n");
return -1;
}
fpdes = fopen(des, "w");
if(fpdes==NULL)
{
printf("open des fail\n");
return -1;
}
while(1)
{
if((num=fread(buf,sizeof(char),1024,fpsrc))>0)
{
fwrite(buf,sizeof(char),num,fpdes);
printf("%d ",num);
}
else
{
break;
}
}
fclose(fpsrc);
fclose(fpdes);
return 0;
}
Linux使用标准IO的调用函数,分3种形式实现的更多相关文章
- 标准IO:常用函数集合
stdio : 标准IO (1) 流(stream)和文件(file) 流和文件 在Turbo C2.0中是有区别的, Turbo C2.0 为编程者和被访问的设备之间提供了一层抽象的东西, 称之为 ...
- LINUX下C语言编程调用函数、链接头文件以及库文件
LINUX下C语言编程经常需要链接其他函数,而其他函数一般都放在另外.c文件中,或者打包放在一个库文件里面,我需要在main函数中调用这些函数,主要有如下几种方法: 1.当需要调用函数的个数比较少时, ...
- JS调用函数的两种方式
<script type="text/javascript"> window.onload = init; //onload 表示页面全部加载完毕后,再调用init() ...
- javascript中在定义函数的几种形式
内容主要是讲述javascript在类(原型对象)中定义方法的几种形式,简要之主要有三种:this关键字.prototype关键字.var 对象名={name:value,name2:value2}: ...
- Linux下普通IO文件操作函数---C语言
普通文件IO总结 FILE结构体 typedef struct { int level; /*填充/清空一级缓存*/ unsigned flag; /*文件状态指针*/ ...
- 5、linux下应用字符串相关调用函数列举说明
1.函数原型int strcmp(const char *s1,const char *s2);设这两个字符串为s1,s2,规则当s1<s2时,返回为负数当s1=s2时,返回值= 0当s1> ...
- onclick调用函数的几种!
()是个操作,表示执行displayDate方法,你把displayDate方法执行完的返回值赋给onclick能对吗?onclick接受的是Function类型的变量,要么用匿名的方法赋值就是doc ...
- 注意string的insert函数的几种形式
string (1) string& insert (size_t pos, const string& str); substring (2) string& insert ...
- shell调用函数返回值深入分析
编写shell脚本过程中,我们经常会自定义一些函数,并根据函数的返回值不同来执行相应的流程,那么我们如何来获取函数的返回值呢? 首先shell中调用函数有两种方式: 第一种:value=`functi ...
随机推荐
- mina 字节数组编解码器的写法 I
mina 服务器与 mina 客户端通讯的话, 一.传递 String 时编解码工厂使用 mina 自带的 TextLineCodecFactory 即可: 二.传递 java 对象或 byte[] ...
- 段描述符表(GDT+LDT)的有感
[0]写在前面 要知道,在汇编中,代码的装入顺序决定了在内存中的地址位置.所有的代码或者数据都在硬盘上,当调试或者启动的时候,加载到内存:当需要对数据进行处理的时候,我们通过将数据从内存载入到regi ...
- JdbcTemplate 、NamedParameterJdbcTemplate、SimpleJdbcTemplate的区别
一.JdbcTemplate 首先在配置文件中设置数据源 <bean id="dataSource" class="org.springframework.jdbc ...
- 瀑布流布局--原生JavaScript
HTML(注意包裹关系,方便js调用) <body> <div id="main"> <div class="box"> & ...
- web.config connectionStrings 数据库连接字符串的解释
先来看一下默认的连接SQL Server数据库配置<connectionStrings> <add name="LocalSqlServer" connect ...
- UI3_UIbarButtonItem
// // AppDelegate.m // UI3_UIbarButtonItem // // Created by zhangxueming on 15/7/6. // Copyright (c) ...
- AMQ学习笔记 - 17. 事务的测试
概述 对事务机制进行测试. 测试实例 测试实例 结果预测 发送正常 3条消息入队 发送异常 0条消息入队 接收正常 3条消息出队 接收异常 0条消息出队 demo设计 设计图 测试分工 测试类 测试方 ...
- (转)集成架构:对比 Web API 与面向服务的架构和企业应用程序集成
摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不同,以及如何将它们融入到一个不断演变的集成架构中.文中还将讨论 API ...
- functional javascript
(转载请注明出处!) 今早带我的master跟我分享了他最近看<functional javascript>一书的感悟,瞬间觉得写1w行代码都不如看本好书来的好啊! 于是在下午的写的项目中 ...
- IOS做一个简单计算器
//声明非原创 步骤: 1.打开Xcode,单机Creat a new Xcode project 2.左边选择ios下Application,右边选择single view Application ...