【问题标题】:C Programming Frequency Counter Input/OutputC编程频率计数器输入/输出
【发布时间】:2013-04-15 23:12:49
【问题描述】:

我编写了一个简单的 C 程序,它读取一个文件并生成一个包含每个单词及其频率的表格。

该程序有效,我已经能够在 Linux 上运行的终端中获得显示的输出,但是,我不确定如何让生成的显示生成一个包含词频输出的 .csv 文件(就像在终端中一样)。

这里是我的程序各个部分的sn-ps代码,这样你可以更好地理解它的结构。

int main
{
   table (int *freqCount);
   processLine (int * freqCount, char *buffer);

   ...
   printTable (results);
}

void printTable(int *results)
{
   double tableAVG (int *results);
   ... table print layout

   for (i = 1; i < MAX_WORD_LEN; ++i)
{
    if (results[i] > 0)
        printf(" %2i%11i\n", i, results[i]);
}
}

void processLine (int *results,  char *buffer)
{
    char *token;
char *delimiter = " ,.;:'\"&!? -_\n\t";

... buffer rule
...     token rule 

while (token != NULL)
{

    results[strlen(token)]++;
    token = strtok(NULL,  delimiter);

}
}

double tableAverage (int *results)
{
int i;
int words = 0;
int sum = 0;

for (i = 1; i < MAX_WORD_LEN; ++i)
{
    ... rule
}

return (double)sum/(double)words;
}

如何将终端的输出发送到 .csv? 任何帮助将不胜感激,谢谢。

【问题讨论】:

    标签: c csv word-frequency


    【解决方案1】:

    启动程序时使用重定向:

    /path/to/you/executable > data.csv
    

    【讨论】:

    • 这将是如何构成的?你能再具体一点吗?这就是你在说的:stackoverflow.com/questions/584868/…
    • 您使用的是什么操作系统(Windows、Linux、...)?我将使用控制台重定向启动程序。查看windowslinux 的链接。
    • 您的 .csv 格式是否正确?所以只需使用 yourprogram > yourcsvfile。
    • 打开一个控制台并使用'>'运行你的可执行文件以将输出重定向到一个文件
    【解决方案2】:

    您可以使用 > 运算符将程序的输出定向到文件。 您可以使用

    示例:在您的终端中写入,

    helloworld.exe > helloworld.txt
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-11
      • 1970-01-01
      • 2019-03-31
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多