要求首先提示输入一个程序文件名,然后输出输入该程序的行数
以下是我写的
#include <iostreamh>
#include <fstreamh>
main()
{
int j;
char ch;
ifstream ifile;
char fn[10];
cout << "文件名";
cin >> fn;
ifileopen(fn);
if (!ifile)
{
cout << "打不开" << endl;
return 0;
}
while (ifileget(ch))
{
if (ch=='\n')
j++;
}
ifileclose();
return 1;
cout << "文件有" << j << "行" << endl;
}
还是不行啊不过我黔驴技穷了望各位大虾指点
现在这个程序编译能通过,能运行
但是运行提示我输入文件名,我输入了,程序就自动关闭结束了
我也不知道为什么
现在的错误出在读取文件我就已经不知道怎么处理了
我也不知道我后面写的判断行数的部分对不对
package comsyldemotest;
import javaio;
/
java代码行数统计工具类
Created by 孙义朗 on 2017/11/17 0017
/
public class CountCodeLineUtil {
private static int normalLines = 0; //有效程序行数
private static int whiteLines = 0; //空白行数
private static int commentLines = 0; //注释行数
public static void countCodeLine(File file) {
Systemoutprintln("代码行数统计:" + filegetAbsolutePath());
if (fileexists()) {
try {
scanFile(file);
} catch (IOException e) {
eprintStackTrace();
}
} else {
Systemoutprintln("文件不存在!");
Systemexit(0);
}
Systemoutprintln(filegetAbsolutePath() + " ,java文件统计:" +
"总有效代码行数: " + normalLines +
" ,总空白行数:" + whiteLines +
" ,总注释行数:" + commentLines +
" ,总行数:" + (normalLines + whiteLines + commentLines));
}
private static void scanFile(File file) throws IOException {
if (fileisDirectory()) {
File[] files = filelistFiles();
for (int i = 0; i < fileslength; i++) {
scanFile(files[i]);
}
}
if (fileisFile()) {
if (filegetName()endsWith("java")) {
count(file);
}
}
}
private static void count(File file) {
BufferedReader br = null;
// 判断此行是否为注释行
boolean comment = false;
int temp_whiteLines = 0;
int temp_commentLines = 0;
int temp_normalLines = 0;
try {
br = new BufferedReader(new FileReader(file));
String line = "";
while ((line = brreadLine()) != null) {
line = linetrim();
if (linematches("^[//s&&[^//n]]$")) {
// 空行
whiteLines++;
temp_whiteLines++;
} else if (linestartsWith("/") && !lineendsWith("/")) {
// 判断此行为"/"开头的注释行
commentLines++;
comment = true;
} else if (comment == true && !lineendsWith("/")) {
// 为多行注释中的一行(不是开头和结尾)
commentLines++;
temp_commentLines++;
} else if (comment == true && lineendsWith("/")) {
// 为多行注释的结束行
commentLines++;
temp_commentLines++;
comment = false;
} else if (linestartsWith("//")) {
// 单行注释行
commentLines++;
temp_commentLines++;
} else {
// 正常代码行
normalLines++;
temp_normalLines++;
}
}
Systemoutprintln(filegetName() +
" ,有效行数" + temp_normalLines +
" ,空白行数" + temp_whiteLines +
" ,注释行数" + temp_commentLines +
" ,总行数" + (temp_normalLines + temp_whiteLines + temp_commentLines));
} catch (FileNotFoundException e) {
eprintStackTrace();
} catch (IOException e) {
eprintStackTrace();
} finally {
if (br != null) {
try {
brclose();
br = null;
} catch (IOException e) {
eprintStackTrace();
}
}
}
}
//测试
public static void main(String[] args) {
File file = new File("F:\\myweb");
countCodeLine(file);
}
}
使用vim编辑器打开文件;
在末行模式下输入:set nu 就可以显示有多少代码了!
每次运行vim编辑器后都默认会是“命令模式”,需要先进入到“输入模式”后再进行编写文档的工作,而每次编辑完成需先返回到“命令模式”后再进入“末行模式”中执行对文本的保存或退出 *** 作,而不能直接从“输入模式”切换到“末行模式”。
了解更多Vim>
以上就是关于怎么样用VC写一个统计程序行数的程序全部的内容,包括:怎么样用VC写一个统计程序行数的程序、Java 有什么好的代码行数,注释行数统计工具、Ubuntu下如何统计代码行数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)