标题:文件分割时,读取文件内容为空
只看楼主
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
结帖率:91.43%
已结贴  问题点数:20 回复次数:8 
文件分割时,读取文件内容为空
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    int n_len,i,j;
    char temp[100],outname[4][6]={"1.txt","2.txt","3.txt","4.txt"};
    FILE * in,*out[4];
    if((in=fopen("123.txt","r"))==NULL)
    {
        printf("cant open the file 123.txt\n\n");
        exit(0);
    }
    else
        printf("open the file 123.txt successful!\n\n");

    for(i=0;i<4;i++)
        if((in=fopen(outname[i],"w+"))==NULL)
        {
            printf("cant open the file %s\n\n",outname[i]);
            exit(0);
        }
        else
            printf("open the file %s successful!\n\n",outname[i]);

    n_len=fread(temp,1,100,in);
    printf("%d\n",n_len);
    for(i=0,j=0;i<n_len;i++)
    {
        fwrite(&temp[i],1,1,out[j]);

        if(i%4==3)
            j++;
    }

    fcloseall();
        
    return 0;

}


结果n_len=0,生成的4个txt都是空的。   123.txt内容是1111222233334444
搜索更多相关主题的帖子: successful include file 
2015-05-23 22:50
文心边城
Rank: 2
等 级:论坛游民
威 望:2
帖 子:98
专家分:67
注 册:2005-12-13
得分:0 
你们贴代码的时候为什么不加上代码标签

会写c c++ java php JS AS vb python
2015-05-23 23:16
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
得分:0 
为什么在打开123.text文件后不马上读取

一片落叶掉进了回忆的流年。
2015-05-24 00:28
文心边城
Rank: 2
等 级:论坛游民
威 望:2
帖 子:98
专家分:67
注 册:2005-12-13
得分:10 
读和写的文件指正怎么能共用一个in

会写c c++ java php JS AS vb python
2015-05-24 00:36
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
得分:10 
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    int n_len,i,j;
    char temp[100],outname[4][6]={"1.txt","2.txt","3.txt","4.txt"};
    FILE * in,*out[4];
    if((in=fopen("123.txt","r"))==NULL)
    {
        printf("can't open the file 123.txt\n\n");
        exit(0);
    }
    else
        printf("open the file 123.txt successful!\n\n");

    n_len=fread(temp,1,100,in);
    printf("%d\n",n_len);
    for(i=0;i<4;i++)
        if((in=fopen(outname[i],"w+"))==NULL)
        {
            printf("cant open the file %s\n\n",outname[i]);
            exit(0);
        }
        else
            printf("open the file %s successful!\n\n",outname[i]);
    for(i=0,j=0;i<n_len;i++)
    {
        fwrite(&temp[i],1,1,out[j]);

        if(i%4==3)
            j++;
    }

    fcloseall();
        
    return 0;

}

一片落叶掉进了回忆的流年。
2015-05-24 00:48
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
得分:0 
能出结果了虽然结果没错,但是有问题你用了一个指针打开五个文件,应该每次打开后关闭它

一片落叶掉进了回忆的流年。
2015-05-24 00:53
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
得分:0 
回复 6楼 诸葛欧阳
我知道哪错了,后面四个用in的指针应该是out[i]的。
2015-05-24 08:50
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
得分:0 
回复 4楼 文心边城
谢谢。问一下代码标签就是指的注释吗
2015-05-24 08:50
文心边城
Rank: 2
等 级:论坛游民
威 望:2
帖 子:98
专家分:67
注 册:2005-12-13
得分:0 
回复 8楼 lyl930130
文本编辑框顺数第6个图标

会写c c++ java php JS AS vb python
2015-05-24 12:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-445685-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016638 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved