Я написал программу с голой костью C, которая читает файл и создает таблицу с каждым словом и их частотой.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? Любая помощь будет оценена, спасибо.
как бы это быть структурирована? Не могли бы вы быть более конкретными? Это то, о чем вы говорите: http://stackoverflow.com/questions/584868/rerouting-stdin-and-stdout-from-c –
Какая ОС вы используете (Windows, Linux, ...)? Я должен запустить программу с перенаправлением консоли. Посмотрите на эту ссылку для [windows] (http://technet.microsoft.com/en-us/library/bb490982.aspx) или [linux] (http://tldp.org/HOWTO/Bash-Prog-Intro- HOWTO-3.html). – Alepac
Я использую Linux Mint –