c语言文件拷贝用主函数 c语言 拷贝

c语言怎么把其他文件里的内容传递给主函数

在C 语言中没有办法把其他文件里的内容传递给主函数 main( )。因为任何一个 C 语言源程序都是从 main( ) 函数开始执行的。所以只能够在主函数 main( ) 中,将文件里的内容传递给用户自定义的子函数才对。例如如下 C 程序:

创新互联是一家以网络技术公司,为中小企业提供网站维护、网站制作、成都网站建设、网站备案、服务器租用、申请域名、软件开发、重庆小程序开发公司等企业互联网相关业务,是一家有着丰富的互联网运营推广经验的科技公司,有着多年的网站建站经验,致力于帮助中小企业在互联网让打出自已的品牌和口碑,让企业在互联网上打开一个面向全国乃至全球的业务窗口:建站联系电话:028-86922220

#include stdio.h

#define MAX 100

void main( )

{

FILE * fpr ;

char file_buffer[MAX] ;

fpr = fopen("my_textfile", "r" ) ; /* 以读方式打开 my_textfile 文本文件 */

if( fpr == NULL )

{ /* 若文件打开失败,则退出系统 */

printf("Can't open my_textfile for read!\n") ;

exit(1) ;

}

fgets(buffer, MAX, fpr) ; /* 从文件中读入一行数据 */

my_subfunc(buffer) ; /* 调用用户自定义的子函数 */

puts(buffer) ; /* 显示处理后的结果 */

fclose(fpr) ; /* 关闭文件 */

}

my_subfunc(char buffer[ ])

{

int i = 0 ;

for( i = 0 ; buffer[i] != '\0' ; i++)

buffer[i] += 2;

}

C语言函数编写:文件复制

C语言实现一个简单的文件复制功能,Linux环境下。

思路步骤:(下代码最重要的逻辑步骤清晰)

第一步:打开源文件(要复制的文件),打开文件的方式以读的方式就可以了。

Linux C打开文件的库函数有:int open(const char *pathname,int flags),int open(const char *pathname,mode_t mode),以及 FILE *fopen(const char *path,const char *mode),FILE *fdopen(int fd,const char *mode),这几个函数,具体的使用方法就查看manual就可以了。

第二步:创建目标文件,所用的函数也是上面那几个。

第三步:读取文件。库函数有:size_t read(int fd,void *buf,size_t count),

size_t fread(void *ptr,size_t size,size_t nmemb,FILE *stream)

第三步:写入目标文件。用的库函数:size_t write(int fd,void *buf,size_t count),

size_t fwrite(void *ptr,size_t size,size_t nmemb,FILE *stream)

第四步:关闭文件。库函数:int fclose(FILE *fp) ,int close(int fd)

思路步骤就是这样子的了。下面是具体的代码实现。

#include

#include

#include

#include

#include

#include

int main(int argc,char *argv[])

{

int fd_source_file,fd_copy_file;//用接受int open()函数返回的值

//FILE *fp_source_file,*fp_copy_file;//如果用FILE *fopen()函数的话

int size_read,size_write;

char buf[1024];

char copy_file_name[50];

//检查参数的输入

if(argc3)

{

printf("usage: ./a.out source_file_path copy_file_path\n");

exit(1);

}

//复制目标文件名

strcpy(copy_file_name,argv[2]);

//打开源文件

if( (fd_source_file=open(argv[1],O_RDONLY,00744))0 )

{

perror("open source file error");

exit(1);

}

//创建目标文件

if( (fd_copy_file=open(argv[1],O_CREAT|O_RDWR)) 0 )

{

perror("create copy file error");

exit(1);

}

do

{

//读取文件内容

if( (size_read=read(fd_source_file,buf,1024)) 0 )

{

perror("read source file error");

exit(1);

}

//写入目标文件

if( (size_write=write(fd_copy_file,buf,sieze_read))0 )

{

perror("wrire file error");

exit(1);

}

}while(size_read==1024)

return 0;

}

C语言中如何编写一个字符串复制函数,并在主函数中调用它。

#includestdio.h

char *custom_cpy(char *to,char *from);

int main(int argc,char *argv[]){

char *from = "i like c langanger";

char to[30];

char *ptr = custom_cpy(to,from);

printf("%s,%s\n",ptr,to);

return 0;

}

char *custom_cpy(char *to,char *from){

if(to == NULL || from == NULL){

return NULL;

char *p = to;

for(;*from!='\0';from++,to++){

*to = *from;

*to = '\0';//拷贝完毕之后一定要加一个结束符号

return p;

}

扩展资料:

字符串相关函数应用:

1. 连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn。

例:concat(‘11’,'aa’)='11aa’;

2. 求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。

例:copy(‘abdag’,2,3)=’bda’;

3. 删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。

例:s:=’abcde’;delete(s,2,3);结果s:=’ae’;

4. 插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置

例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’;

5. 求字符串长度 length(s) 例:length(‘12abc’)=5;

参考资料:

百度百科-字符串

c语言中文件复制该用什么函数?

system 函数是可以运行一个外部控制台程序。

标准的复制文件方法是用API函数 CopyFile/CopyFileEx

这两个函数,详细参数和参数的意思,你查查MSDN上面写的很详细


本文标题:c语言文件拷贝用主函数 c语言 拷贝
本文链接:http://scyanting.com/article/doehhgg.html