【发布时间】:2015-04-30 21:51:40
【问题描述】:
这段代码:
#include <stdio.h>
void main()
{
char *csv_delimiter = ",";
printf("col1%scol2%scol3%scol4\n", csv_delimiter, csv_delimiter, csv_delimiter);
}
有这个输出:
col1,col2,col3,col4
这正是我所需要的。但我必须多次引用指针csv_delimiter。如果我有一千列怎么办?有没有办法只引用一次csv_delimiter 并多次打印以分隔尽可能多的列?我正在寻找这样的代码:
#include <stdio.h>
void main()
{
char *csv_delimiter = ",";
printf("col1[REF1]col2[REF1]col3[REF1]col4\n", csv_delimiter);
}
从这个例子可以看出,我不是在寻找循环(由于与实现相关的原因,我无法在原始代码中循环)。我需要一些方法将大量%s 放在一行中,并将它们全部引用到同一个指针,在本例中为csv_delimiter。我确信这是可能的。我记得在 Deitel 读过类似的东西,但我找不到他解释如何做到这一点的地方。
【问题讨论】:
-
循环是标准 ANSI-C 中的唯一选择。另外为什么你不能只使用循环?无论如何,我想在 Windows 上应该可以:msdn.microsoft.com/en-us/library/bt7tawza.aspx
-
回复。不得不描述整个实现,你能不能试着给出一个简化的例子来说明为什么你不能循环呢?
-
@pfannkuchen_gesicht 它与 FANN 结构输出格式、我从中读取输入的文件以及我需要如何一起处理这些信息以输出供另一个函数使用的 CSV 文件有关.
-
称我为天真,但我想不出任何可以想象的原因为什么循环不可能。我认为您真正的问题可能不在您向我们展示的内容。