如何将文件中的字符按列读取到一维数组中
假设某txt文件中的数据如下
abcde
abcd
abc
abcdef
ab
如何将该文件中的数据读取到一维数组中,即如下数据
aaaaabbbbbcccc dd d e e f
或者更好把中间的空格去掉变成如下的形式
aaaaabbbbbccccdddeef
希望大神们可以帮帮我。。。。
[解决办法]
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]放到第二行,
。。。
就这样吧?