我编写了一个简单的 C 程序,它读取一个文件并生成一个包含每个单词及其频率的表格。
该程序有效,我已经能够在 Linux 上运行的终端中获得显示的输出,但是,我不确定如何让生成的显示生成一个包含词频输出的 .csv 文件(因为它是在终端)。
以下是我的程序各部分的代码片段,以便您更好地理解它的结构。
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?任何帮助将不胜感激,谢谢。