| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 612 人关注过本帖
标题:又来问个新手问题,关于写档?
只看楼主 加入收藏
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
结帖率:97.66%
收藏
已结贴  问题点数:20 回复次数:10 
又来问个新手问题,关于写档?
要怎么才能在一次fopen()输出同一个CSV档案时,一列一列写入档案(直列)?

因为源资料排列格式如此,但是一直以来写档都是一行一行写的.

一直被内存覆盖问题困扰,所以干脆牺牲一点效能,
一次全出改成批次输出内存资料到档案中(若能一列一列写档).

附件参考如下:
https://bbs.bccn.net/thread-441645-1-1.html
搜索更多相关主题的帖子: 资料 
2015-02-16 18:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:4 
數據轉置了再輸出唄,矩陣旋轉的做法。

授人以渔,不授人以鱼。
2015-02-16 21:30
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:4 
你可以换个思路

程序代码:
#include <stdio.h>
#define N 3

char a[N] = {'a', 'b', 'c'};
char b[N] = {'1', '2', '3'};
char c[N] = {'x', 'y', 'z'};

void write(char *pa, char *pb, char *pc, FILE *fp) {
    int i = 0;
    while(i < N) {
        fprintf(fp, "%c\t%c\t%c\n", pa[i], pb[i], pc[i]);
        i++;
    }
}

int main(void) {
    FILE *fp = fopen("new.txt", "w+");
    write(a, b, c, fp);
    fclose(fp);
    return 0;
}


Only the Code Tells the Truth             K.I.S.S
2015-02-16 21:33
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
有那么简单我就不会问了.
数据是一列一列读取出来的,
所以不可能可以有排版的机会,
因为一列读取后输出后,
要清空内存再读写下一列.

这种的要怎做?

不要選我當版主
2015-02-17 10:56
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:4 
csv就是普通的带逗号文档,办法肯定比问题多。

能编个毛线衣吗?
2015-02-17 11:33
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不會不清除的麽?不會數據另外保存起來的麽?

授人以渔,不授人以鱼。
2015-02-17 11:40
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
以下是引用TonyDeng在2015-2-17 11:40:19的发言:

不會不清除的麽?不會數據另外保存起來的麽?


不知道你在说啥?

不要選我當版主
2015-02-17 11:43
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
當我沒說就成了。

授人以渔,不授人以鱼。
2015-02-17 11:43
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
假设从第一列往下写一千行,第二次怎再从原档第一列,
接续先前的资料再往下写一千行?
依此类推上千次重复这动作.
组合成一个1000*1000格子的数据资料?

不要選我當版主
2015-02-17 11:48
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
要是C真不行我只好把资料的XY轴互换了

不要選我當版主
2015-02-17 11:53
快速回复:又来问个新手问题,关于写档?
数据加载中...
 
   



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

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