当前位置:首页 » 编程语言 » c语言文件分割

c语言文件分割

发布时间: 2022-06-14 18:19:17

㈠ 求c语言编程文件的分割与合并源代码与程序框图(课程设计)

c语言的把一个文件分成相等的两个文件。
#include<stdio.h>

int main()
{
int len=0;
int len2=0;
FILE* stream;
FILE* stream1;
FILE* stream2;
char buf[50];
char buf1[50];
char buf2[50];
char text[1024];

printf("input anfile path to open:");

scanf("%s",buf);
stream=fopen(buf,"r+");

fseek(stream,0,SEEK_END);
len=ftell(stream);
printf("the file %s length is %d!\n",buf,len);
len2 = len/2;

printf("intput 2 file name: \n");
scanf("%s%s",buf1,buf2);
fseek(stream,0,SEEK_SET);
stream1=fopen(buf1,"w+");
stream2=fopen(buf2,"w+");
fread(text,len2,1,stream);
fwrite(text,len2,1,stream1);
fread(text,len-len2,1,stream);
fwrite(text,len-len2,1,stream2);

fclose(stream);
fclose(stream1);
fclose(stream2);

return 0;
}
文件合并
#include<stdio.h>

int main()
{
int len=0;
int len2=0;
FILE* stream;
FILE* stream1;

char buf[50];
char buf1[50];

char text[1024];

printf("input anfile path to open:");

scanf("%s",buf);
stream=fopen(buf,"r+");

fseek(stream,0,SEEK_END);

printf("intput another file name: \n");
scanf("%s",buf1);

stream1=fopen(buf1,"r+");
fseek(stream1,0,SEEK_END);
len=ftell(stream1);
fseek(stream1,0,SEEK_SET);
fread(text,len,1,stream1);
fwrite(text,len,1,stream);

fclose(stream);
fclose(stream1);
remove(buf1);//remove the another file

return 0;
}
需要在程序目录下有文件存在

㈡ C语言文件分割问题

举个例子,502字节的文件分成5个子文件,前四个(i!=n)都是100字节(用d<=ev_sizef判断),第五个有102字节,就不能用<100判断了,而是利用fread的返回值判断只要读取到就输出
,

㈢ C语言如何将文件中一行内容按照空格分割,并将每个单词写入数组

程序已调试过,运行的时候把filename改为你自己路径下的文件。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char str[1000];
void openfile(char *filename)
{
FILE *fp;
int file_size;
if((fp=fopen(filename,"r")) == NULL)
{
printf("can not open this file\n");
exit(0);
}
fseek(fp,0,SEEK_END);
file_size=ftell(fp);
printf("%d\n",file_size);
fseek(fp,0,SEEK_SET);
fread(str,sizeof(char),file_size,fp);
str[file_size-1]='\0';
printf("%s\n",str);
fclose(fp);
}

void Split()
{
char w[100][100];
char *pfirst=str;
char *pend;
int i=0;
int j,sum=0;
memset(w,0,sizeof(w));
while(pfirst)
{
pend=strstr(pfirst," ");
if(pend==NULL)
{
strncpy(w[i],pfirst,strlen(str)-sum);
i++;
break;
}
strncpy(w[i],pfirst,pend-pfirst);
sum+=pend-pfirst+1;
pfirst=++pend;
i++;
}
for(j=0;j<i;j++)
printf("%s ",w[j]);

}
int main()
{
char filename[40]="/opt/opthb/liuly/a.txt";
openfile(filename);
Split();
return 0;
}

㈣ 如何把一个复杂的C语言源代码分成几个文件,然后在dev c++上进行多文件编译

假设我们要更改的源代码如下:

即“No such file or directory”就是没有文件或者路径。说明你的路径写错了,在编程时务必要注意一下。

㈤ C语言实现文本分割 有一个文本文件里面用很多信息用换行分割,我要把每个信息单独提取出来该怎么办

charszBuff[512]={0};//前提是要知道每行最长长度

fgets(szBuff,sizeof(szBuff),m_pFile));//m_pFile是打开文件的句柄。

fgets读取一行内容,再加个循环直到文件结尾

㈥ C语言如何实现文件分割功能

strcat()是追加字符串的函数。
strcat(char[] a,char []b)即将第二个字符串追加到第一个字符串末尾,第二个字符串值不变,第一个变长。
你的理解是对的 但是使用有误!追加时需要保证第一个字符串在加上第二个之后依旧不能溢出。在此题中,你的a[]字符串长度在追加上".txt"之后,会溢出,建议在定义a的时候写上char a[100]保证不溢出。

㈦ C语言分割字符串

使用strtok函数即可实现分割字符串。

1、strtok函数:
原型:char *strtok(char s[], const char *delim);
功能:将一个字符串分解为一组字符串,s为要分解的字符串,delim为分隔符字符串;
说明:当strtok函数在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针;
头文件:string.h;
返回值:从字符串s开头开始的一个个被分割的字符串。分割结束时,返回NULL。所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。
2、例程:

#include<stdio.h>
#include<string.h>
intmain(){
charinput[16]="abc,d,ef,g";//待分解字符串
char*delim=",";//分隔符字符串
char*p=strtok(input,delim);//第一次调用strtok
while(p!=NULL){//当返回值不为NULL时,继续循环
printf("%s ",p);//输出分解的字符串
p=strtok(NULL,delim);//继续调用strtok,分解剩下的字符串
}
return0;
}

㈧ C语言文件分割合并

文件是你分割的,想合并有什么难题呢?
顺次读取原分割好的多个文件,写入到一个文件就可以了。
我们可以看看winrar文件是如何分割文件的。分割后的每个文件文件名有规律,从01开始编号。顺次读取指定文件夹中的文件,如果文件不存在了,说明读入结束了。

热点内容
钓鱼网站源码制作 发布:2025-02-07 08:23:54 浏览:138
mac运行fl需要什么配置 发布:2025-02-07 08:15:45 浏览:572
安卓怎么做都比不了苹果 发布:2025-02-07 08:12:47 浏览:237
怎么给物理机配置ip地址 发布:2025-02-07 08:01:37 浏览:138
三国志13未加密 发布:2025-02-07 07:54:37 浏览:925
马斯克中国访问 发布:2025-02-07 07:54:29 浏览:101
数据库有表 发布:2025-02-07 07:50:49 浏览:28
基于nginx搭建图片服务器原理 发布:2025-02-07 07:44:18 浏览:448
java等待 发布:2025-02-07 07:28:24 浏览:612
vs编译器会自己加空格吗 发布:2025-02-07 07:23:05 浏览:175