原帖由 @waterking 于 2016-2-2 01:36 发表
因为不知道具体的通信协议,所以打印的时候需要用户根据实际情况配置。
举例来说,比如数组里有100个数据,打印到txt里。可以10个一行打10行,也可以5个一行打20行,可以浮点输出,也可以整形输出,由用户控制。。。
当然也不可能无条件的随意配置,只能尽量灵活吧。。。
C或C++实现,这种功能很难吗??求个思路。。。
原帖由 @lvcha 于 2016-2-2 08:26 发表
这种的用脚本语言最合适了。python这些。
原帖由 ff_cactus 于 2016-2-2 09:14 发表
posted by wap, platform: iPhone
你让用户打开记事本,自己写。
%d 表示整数,%f表示浮点数, \n表示换行,等等。
让后你把整个内容当成一个字符串,一个fprintf搞定。
原帖由 总是注册不成功 于 2016-2-2 09:29 发表
posted by wap, platform: iPhone
没看出难点在哪,把配置保存起来,输出的时候读取配置并用if else 硬撸有什么问题?
原帖由 waterking 于 2016-2-3 00:10 发表
那岂不是我要写100个%d,%f这种,万一要是1W个数据呢。。。。。
就算我写了100个%d这种,后面难道再写100个a0,a1...a99??
还请赐教![]()
原帖由 @ff_cactus 于 2016-2-3 00:54 发表
不是呀,假如用户输入的是:
My table
%d, %f
%d, %f
笨一点:
array_type array;
array_type *p = array;
char* format = read_file_content();
fprintf(output_f, format, p++, p++, p++, p++ .....);
当然这样做的话每次增加输出量就需要改。我想应该可以用那个什么arg_list宏之类的来替代后面的 p++ 等等。
不过你也可以写成循环。
你每次从用户文件那里读数据,直到读到一个%d或%f,然后调用printf,这样printf里面就一个打印参数了。要注意的是:1. 处理最后一个%d %f后面的内容。2. 文件要用append方式打开,或者你先写到缓存里。
感觉用C++写方便点。C的话申请内存比较麻烦。
欢迎光临 TGFC Lifestyle (http://bbs.tgfcer.com/) | Powered by Discuz! 6.0.0 |