shihyu 发表于 2006-10-30 06:34:24

用C 讀txt 檔把它轉成HTML

用C 讀txt 檔把它轉成HTML
我找很久都找不到哪邊有錯誤 , 可以編譯成exe檔 , 但開啟後會發生錯誤
我猜應該是內存問題吧,,,應該是指針哪邊誤用 , 希望有人可以找出是哪邊有問題

謝謝大家




#include<stdio.h>
#include<stdlib.h>
#include<string.h>

main(int argc, char *argv[])
{
   FILE *fp;
   char *ch;
   char *chr_doc;
   fp = fopen(argv,"r");
   while ((ch = fgetc(fp)) != EOF)
   {
      strcat(chr_doc, &ch);
   }   
   fclose(fp);
   
   int i = 0, int_bwd = 0, int_swd = 0, int_intsy = 0, int_othersy = 0, int_ascii = 0, int_allcount = 0;
   int int_cword = 0;

   for (i = 0; i < strlen(chr_doc); i++)
   {
      int_ascii = (int)chr_doc;
         
      if (int_ascii == 0)
      {

         break;
      }
      if (int_ascii >= 65 && int_ascii <= 90)
      {
         int_bwd++;
      }
      if (int_ascii >= 97 && int_ascii <= 122)
      {
         int_swd++;
      }
      if (int_ascii >= 48 && int_ascii <= 57)
      {
         int_intsy++;
      }
      if (int_ascii < 0)
      {
         int_cword++;
         i++;         
      }   

   }
   int_othersy = strlen(chr_doc) - int_bwd - int_swd - int_intsy - (int_cword * 2) - 1;
   fp = fopen(argv, "w");
   
   fprintf(fp, "<html>\n");
   fprintf(fp, "<head>\n");   
   fprintf(fp, "<title>处理结果</title>\n");
   fprintf(fp, "</head>\n");   
   fprintf(fp, "\n<b>中文字共<font color=blue> %d </font>字<br>", int_cword);   
   fprintf(fp, "\n大写字母共<font color=blue> %d </font>字<br>", int_bwd);
   fprintf(fp, "\n小写字母共<font color=blue> %d </font>字<br>", int_swd);
   fprintf(fp, "\n数字共<font color=blue> %d </font>字<br>", int_intsy);
   fprintf(fp, "\n符号共<font color=blue> %d </font>字<br>", int_othersy);
   fprintf(fp, "<br><font color=green>横条图:</font><br>");
   fprintf(fp, "<table border = 0>");   
   fprintf(fp, "<tr><td>中文字数");
   fprintf(fp, "</td>");   
   fprintf(fp, "<td>");
   for (i = 0; i < int_cword * 2; i++)
   {
      fprintf(fp, "<img src = \"img.gif\">");
   }
   fprintf(fp, "<b> %d</b>", int_cword);
   fprintf(fp, "</td></tr>");   

   fprintf(fp, "<tr><td>大写字数");
   fprintf(fp, "</td>");   
   fprintf(fp, "<td>");
   for (i = 0; i < int_bwd * 2; i++)
   {
      fprintf(fp, "<img src = \"img.gif\">");
   }
   fprintf(fp, "<b> %d</b>", int_bwd);
   fprintf(fp, "</td></tr>");   

   fprintf(fp, "<tr><td>小写字数");
   fprintf(fp, "</td>");   
   fprintf(fp, "<td>");
   for (i = 0; i < int_swd * 2; i++)
   {
      fprintf(fp, "<img src = \"img.gif\">");
   }
   fprintf(fp, "<b> %d</b>", int_swd);
   fprintf(fp, "</td></tr>");   

   fprintf(fp, "<tr><td>数字字数");
   fprintf(fp, "</td>");   
   fprintf(fp, "<td>");
   for (i = 0; i < int_intsy * 2; i++)
   {
      fprintf(fp, "<img src = \"img.gif\">");
   }
   fprintf(fp, "<b> %d</b>", int_intsy);
   fprintf(fp, "</td></tr>");   

   fprintf(fp, "<tr><td>符号字数");
   fprintf(fp, "</td>");   
   fprintf(fp, "<td>");
   for (i = 0; i < int_othersy * 2; i++)
   {
      fprintf(fp, "<img src = \"img.gif\">");
   }
   fprintf(fp, "<b> %d</b>", int_othersy);
   fprintf(fp, "</td></tr>");   

   fprintf(fp, "</table>");   


   fprintf(fp, "</body>\n");      
   fclose(fp);

   printf("档案已输出至 %s !!", argv);
}
页: [1]
查看完整版本: 用C 讀txt 檔把它轉成HTML