VC++如何实现文本编辑器统计文字和行数 10
展开全部
设置2个计数器i和j,然后一个字符一个字符地读取文本,每读一个字符,i加1,遇到字符'\n'则表示换行,此时j++,到读取完后,就知道多少字符和行数了。但是要注意一个汉字是相当于2个字符的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用CStdioFile 类
字数统计用 GetLength()直接就统计出来了
CStdioFile m_file;
m_file.Open("路径",CFile::modeReadWrite);
int intfilelen = m_file.GetLength();
CString strread;
int i = 0;
while (m_file.ReadString(strread))
{
i = i +1;
}
m_file.Close();
//i 为行数
字数统计用 GetLength()直接就统计出来了
CStdioFile m_file;
m_file.Open("路径",CFile::modeReadWrite);
int intfilelen = m_file.GetLength();
CString strread;
int i = 0;
while (m_file.ReadString(strread))
{
i = i +1;
}
m_file.Close();
//i 为行数
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
main()
{FILE *fp,*fp1;
int cap=0, i=1;
char mid,filename[10];
printf("Input the filename like *.txt!\n");
scanf("%s",filename);
if((fp=fopen(filename,"r"))==NULL)
{printf("Can not open the file!\n");
exit (0);
}
if((fp1=fopen("stdout.txt","w+"))==NULL)
{printf("Can not open the file!\n");
exit (0);
}
while(!feof(fp))
{
mid=fgetc(fp);
if(mid=='\n') cap++;
}
fclose(fp);
if((fp=fopen(filename,"r"))==NULL)
{printf("Can not open the file!\n");
exit (0);
}
fprintf(fp1,"%d ",i++);
while(!feof(fp))
{
if(fputc(fgetc(fp),fp1)=='\n')
fprintf(fp1,"%d ",i++);
}
printf("cap=%d \n",cap+1);
fclose(fp);
fclose(fp1);
}
main()
{FILE *fp,*fp1;
int cap=0, i=1;
char mid,filename[10];
printf("Input the filename like *.txt!\n");
scanf("%s",filename);
if((fp=fopen(filename,"r"))==NULL)
{printf("Can not open the file!\n");
exit (0);
}
if((fp1=fopen("stdout.txt","w+"))==NULL)
{printf("Can not open the file!\n");
exit (0);
}
while(!feof(fp))
{
mid=fgetc(fp);
if(mid=='\n') cap++;
}
fclose(fp);
if((fp=fopen(filename,"r"))==NULL)
{printf("Can not open the file!\n");
exit (0);
}
fprintf(fp1,"%d ",i++);
while(!feof(fp))
{
if(fputc(fgetc(fp),fp1)=='\n')
fprintf(fp1,"%d ",i++);
}
printf("cap=%d \n",cap+1);
fclose(fp);
fclose(fp1);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用CString 就能统计字数的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询