首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么将文件中的字符按列读取到一维数组中

2012-05-01 
如何将文件中的字符按列读取到一维数组中假设某txt文件中的数据如下abcdeabcdabcabcdefab如何将该文件中的

如何将文件中的字符按列读取到一维数组中
假设某txt文件中的数据如下
abcde
abcd
abc
abcdef
ab

如何将该文件中的数据读取到一维数组中,即如下数据
aaaaabbbbbcccc dd d e e f 

或者更好把中间的空格去掉变成如下的形式
aaaaabbbbbccccdddeef

希望大神们可以帮帮我。。。。

[解决办法]

C/C++ code
static char data[1024*1024*4];static char temp[1024*16][256];int main(){FILE *fp=fopen("filename.txt","r");char buf[256];int n=0;while(fgets(buf,256,fp)){strcpy(temp[n++],buf);}int cnt=0;char *p=data;for(int i=0;i<256;i++){cnt=0;for(int j=0;j<n;j++){if(temp[j][i]){*p++=temp[j][i];cnt++;}}if(!cnt)break;}puts(data);fclose(fp);return 0;}
[解决办法]
如果你知道,原文件一共有5行,每行的长度分别是:5,4,3,6,2(不考虑'\0'),

那就从以为数组中取

a[0],a[0+5],a[0+5+5],a[0+5+5+5],a[0+5+5+5+5]放到第一行,

a[1],a[1+5],a[1+5+5],a[1+5+5]放到第二行,

。。。

就这样吧?



探讨

现在一位数组是:aaaaabbbbbccccdddeef

你不但要保存原文件中每行的长度,还要保存原文件一共有多少行。。。

我新手,不知道是不是这样。。


引用:

如果在一维数组中保存了原文件中每行的长度,然后在还原的时候进行判定当前字符出现在哪一行

可以吗??

如果可以的话,代码实现会不会复杂??

热点排行