IO文件第4天

#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <string.h>
char buf[]="1234567";
void *callBack(void *arg)
{
    while(1)
    {
        printf("buf:%s\n",buf);
    }
    return NULL;
}
int main(int argc, const char *argv[])
{
    pthread_t tid;
    char a;
    int len=strlen(buf);
    int i=0;
    for(i;i<len/2;i++)
    {
        a=buf[i];
        buf[i]=buf[len-i-1];
        buf[len-i-1]=a;                         

    }

    pthread_create(&tid,NULL,callBack,NULL);
    while(1)
    {
            }
    return 0;
}
                                                

 #include<stdio.h>
 #include<pthread.h>
 #include<errno.h>
 #include<unistd.h>
 void* FUNC(void*i)
 {
     FILE*z_read=fopen("./1.png","r");
 
     FILE*z_write=fopen("2.png","a+");
     fseek(z_read,*(long*)i,SEEK_SET);
 
     size_t end;
     char date;
     while(1)
     {
         end=fread(&date,1,sizeof(date),z_read);
         fwrite(&date,1,1,z_write);
         if(end==0)
         {
             printf("读取完毕\n");
             fclose(z_read);
             fclose(z_write);
             break;
         }
     }
 }
 int main(int argc, const char *argv[])
 {
     FILE*r_read=fopen("./1.png","r");
     if(NULL==r_read)
     {
         perror("fopen");
         printf("%d\n",__LINE__);
         return -1;
     }
     FILE*r_write=fopen("2.png","w");
     if(NULL==r_write)
     {
         perror("fopen");
         printf("%d\n",__LINE__);
         return -1;
     }
 
     //读取前半
     long LEN;
     fseek(r_read,0,SEEK_END);
     LEN=ftell(r_read);
     fseek(r_read,0,SEEK_SET);
     char date;
     int pa;
     long i=0;
     while(i<LEN/2)
     {
         pa=fscanf(r_read,"%c",&date);
         fprintf(r_write,"%c",date);
 
                                                      
         if(pa==EOF)
         {
             if(errno!=0)
             {
                 perror("fscanf");
                 return -1;
             }
             printf("复制完成\n");
             break;
         }
         i++;
     }
     fclose(r_read);
     fclose(r_write);
     //开线程——————————————————————————————————————
     pthread_t tid;
     pthread_create(&tid,NULL,FUNC,(void*)&i);
     pthread_join(tid,NULL);
     return 0;
 }
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值