Tôi đã viết một chương trình C đơn giản để đọc một tệp và tạo một bảng chứa mỗi từ và tần suất xuất hiện của nó.
Chương trình hoạt động và tôi có thể nhận được đầu ra được hiển thị trong một thiết bị đầu cuối chạy trên Linux, tuy nhiên, tôi không chắc chắn làm cách nào để màn hình được tạo tạo ra tệp .csv chứa đầu ra tần số từ (giống như trong phần cuối).
Dưới đây là đoạn mã cho từng phần trong chương trình của tôi để bạn có thể hiểu rõ hơn về cấu trúc của nó.
int chính
{
bảng (int *freqCount);
processLine (int * freqCount, char *buffer);
...
printTable (kết quả);
}
void printTable(int *results)
{
bảng đôiAVG (int *kết quả);
... bố cục in bảng
cho (i = 1; tôi < MAX_WORD_LEN; ++i)
{
nếu (kết quả[i] > 0)
printf(" %2i%11i\n", i, results[i]);
}
}
void processLine (int *kết quả, char *buffer)
{
mã thông báo char *;
char *dấu phân cách = " ,.;:'\"&!? -_\n\t";
...quy tắc đệm
...quy tắc mã thông báo
trong khi (mã thông báo != NULL)
{
kết quả[strlen(mã thông báo)]++;
mã thông báo = strtok(NULL, dấu phân cách);
}
}
bảng đôiTrung bình (int *kết quả)
{
int i;
int từ = 0;
int sum = 0;
cho (i = 1; tôi < MAX_WORD_LEN; ++i)
{
... luật lệ
}
trả lại (gấp đôi) tổng/(gấp đôi) từ;
}
Làm cách nào tôi có thể gửi đầu ra của thiết bị đầu cuối tới .csv? Bất kỳ trợ giúp sẽ được đánh giá rất cao, cảm ơn bạn.
Sử dụng chuyển hướng khi bắt đầu một chương trình:
/path/to/you/executable > data.csv
Tôi là một lập trình viên xuất sắc, rất giỏi!