2013-04-15 1 views
1

Я написал программу с голой костью 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? Любая помощь будет оценена, спасибо.

ответ

2

Использование Перенаправление при запуске программы:

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

как бы это быть структурирована? Не могли бы вы быть более конкретными? Это то, о чем вы говорите: http://stackoverflow.com/questions/584868/rerouting-stdin-and-stdout-from-c –

+0

Какая ОС вы используете (Windows, Linux, ...)? Я должен запустить программу с перенаправлением консоли. Посмотрите на эту ссылку для [windows] (http://technet.microsoft.com/en-us/library/bb490982.aspx) или [linux] (http://tldp.org/HOWTO/Bash-Prog-Intro- HOWTO-3.html). – Alepac

+0

Я использую Linux Mint –

1

Вы можете использовать оператор>, чтобы направить вывод вашей программы в файл. Вы можете использовать оператор < для чтения ввода вашей программы из файла. Вы можете использовать | оператора, чтобы связать вывод программы со входом другого.

Пример: написать в терминале,

helloworld.exe > helloworld.txt 

 Смежные вопросы

  • Нет связанных вопросов^_^