QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1524|回复: 0

用C 讀txt 檔把它轉成HTML

[复制链接]
发表于 2006-10-30 06:34:24 | 显示全部楼层 |阅读模式
用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[1],"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[2], "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[2]);
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-4 03:58 , Processed in 0.071391 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表