如何優雅地寫出wordcount,C版本

2021-10-07 09:38:29 字數 681 閱讀 5220

分析:也就是連續地字母要提取出來,作為乙個單詞,比如 it's 就需要提取出 it s 兩個單詞

實現:我的想法是首先用fscanf()函式將文章中連在一起地提取出來,類似 ok.    cs@cbhs,  hi! 這些,然後進行過濾,將這個整體地非字母替換成空格,然後將他寫入乙個臨時檔案,再從這個臨時檔案中讀取,就達到了分解地目的;

部分**

//讀取、過濾、寫入臨時檔案

void readfile(char *path){

file *ori = fopen(path,"r");

file *tempfile = fopen("tempfile.txt","w");

char temp[1024];

while(!feof(fp)){

fscanf(ori,"%s",temp);

for(int i = 0; i < strlen(temp); i++){

if(!isletter(temp[i])){

temp[i] = ' ';

fprintf(tempfile,"%s\n",temp);

注意,如果再次讀取這個臨時檔案,也是採用fscaf()會存在乙個bug,就是如果最後地是空行,會將上一行的內容拿過來,導致最後一行的誤讀,我的建議是寫乙個退格符,也就是 fprintf(tempfile,"\b");  就可以解決這個問題。

如何優雅地寫部落格

如何優雅地寫部落格 現在寫部落格面臨著幾個問題 編寫麻煩,大部分的部落格編輯器都很爛,csdn和等等。維護麻煩,維護多個部落格的資料同步很麻煩。歷史檢視,大部分部落格編寫都不能檢視之前的歷史資料。用github做部落格倉庫,將資料都寫在github上,這樣可以隨時檢視一年前的部落格資料,方便在原文件...

如何優雅地書寫JavaScript

這篇文章包含了幾乎所有關於提高 質量的內容,尤其是在構建大型應用程式時。主要包括四個部分 本主題僅涉及原生js,關於框架 比如react和vue 的內容會在以後的文章中展現。我想你們大多數人之前都聽說過solid,也就是物件導向設計裡的solid原則。這些原則基於物件導向設計,所以可能不適合其他程式...

如何優雅地關閉SparkStreaming

how to shutdown a spark streaming job gracefully 17 02 02 01 31 35 info streaming.streamingcontext invoking stop stopgracefully true from shutdown hoo...