技术标签: Java代码信息提取 C语言
读取一个文件夹中的Java文件
#include<iostream>
#include<fstream>
#include<io.h>
#include<vector>
#include<string>
#include<stdlib.h>
using namespace std;
string s(_pgmptr);
char filePath[] = "I:\\";
vector<string> files;
void getFiles( string path, vector<string>& files )
{
//文件句柄
long hFile = 0;
//文件信息
struct _finddata_t fileinfo;
string p;
if((hFile = _findfirst(p.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
{
do
{
//如果是目录,迭代之
//如果不是,加入列表
if((fileinfo.attrib & _A_SUBDIR))
{
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
getFiles( p.assign(fileinfo.name), files );
}
else
{
files.push_back(p.assign(fileinfo.name) );
}
}while(_findnext(hFile, &fileinfo) == 0);
_findclose(hFile);
}
}
int find(string s,string extension){
int i = -1;
for(;++i<s.length();){
if(s[i] == '.' && s.substr(i+1,s.length()-i-1) == extension){
return i;
}
}
return -1;
}
string getStr(string name){
return "\"" +s + "createCode.exe\" " + name;
}
int main(){
cin>>filePath;
获取该路径下的所有文件
string temp(filePath);
s = s.substr(0,s.find_last_of("\\")+1);
ofstream fout((temp + "FileName.txt").c_str());
cout<<s<<endl;
getFiles(filePath, files);
char str[30];
int size = files.size();
int i,j = 0;
int index;
for (i = 0;i < size;i++)
{
index = find(files[i],"java");
if(index!=-1){
fout<<files[i]<<endl;
system(getStr(temp + files[i].substr(0,index) + ".").c_str());
}
}
fout.close();
return 0;
}
#pragma warning(disable: 4786)
#include<iostream>
#include<string>
#include<fstream>
#include<vector>
#include<iterator>
#include<ctype.h>
#include<io.h>
using namespace std;
#define PACKAGE 8
#define IMPORT 7
#define CLASS 3
#define VARIABLE 4
#define FUNCTION 5
#define UNDEINED -1
#define NOTFOUND 0
#define HAVEFOUND 1
/**
* 目前出现的问题:
* 1. 不用制表符首行推进,而是用空格。函数没有识别到。
*/
class C{
public:
string classname;//类的名字
string extends;//类的extends
vector<string> implements;//类的implements
vector<string> var;//类的变量
vector<string> function;//类的函数
C(){
extends = "";
classname = "";
}
C(string extends){
classname = "";
this->extends = extends;
}
};
vector<string> package;//package集合
vector<string> import;//import集合
vector<C> _c;//类的结合
//char p[50] = "I:\\Body.java";//想要分析的代码文件路径
//char q[50] = "I:\\Body.txt";//输出代码文件
char * filePath = "I:\\Android\\sample\\res\\drawable-mdpi";
vector<string> files;
int judge(string s);//判断字符串名字返回不同的值
void D(string& str,char c);//在字符串str中循环删除字符c
void D(string& str,string s);//删除所有指定的字符串
void R(string& str);//以\r为判断删除注释
void D(string& str);//以\t为判断删除所有注释
vector<string> divideByTab(string &str);//以制表符为分隔符分解字符串成vector
void ignorespacetab(const string& str,int& fI);//fI停在非空格和制表符处
void ignorealnum(const string&str ,int&am
文章浏览阅读724次。转载整理来自:猿大侠在IT界,程序员的工资一直是备受关注的,在世人的眼里,觉得程序员都是一个高薪的存在,但是真的是这样的吗,也不完全是,并不是所有的程序员工资都是一样的,同为程序员,薪资..._北京程序员5月平均工资
文章浏览阅读6.7k次。一、登录到开放平台,进入开发者中心。二、点击自定义菜单选择创建菜单,发现需要 access_token 和 应用 id。三、去获取 access_token,应用 id 在 微信企业号开发平台《应用中心》的对应应用里。但是获取 access_token 还需要 corpid 和 corpsecret。四、获取 access_token 还需要 corpid 和 corpsecret。要去权限管理创建_企业微信开发应用管理菜单
文章浏览阅读2.1k次,点赞2次,收藏4次。分区变成RAW格式怎么办?移动硬盘、U盘、硬盘、SD卡都是很常用的数据存储设备,用户在平时使用这些设备的时候难免会因各种原因而遇到一些问题,例如分区变成RAW格式、无法访问、提示格式化、误删除等。遇到这种情况,用户将无法读取数据,从而面临数据丢失的风险。其实,分区变成RAW格式的时候,无需过于紧张,因为只要方法得当,是可以完美解决RAW问题的。现在就为大家介绍下如何正确处理RAW分区。分区变成RA..._硬盘格式怎么会变呢
文章浏览阅读207次。我想使用一个进程池运行一些作业,并应用一个给定的超时,之后应该杀死一个作业,并替换另一个处理下一个任务的作业.我曾尝试使用多处理模块,它提供了一种异步运行工作池的方法(例如使用map_async),但在那里我只能设置一个“全局”超时,之后所有进程都将被终止.是否有可能有一个单独的超时,之后只有一个耗时太长的进程被杀死,而一个新的worker再次被添加到池中(处理下一个任务并跳过超时的那个)?这是一..._map_aync()会跳过池中的作业
文章浏览阅读2.6w次,点赞7次,收藏104次。ABAP是SAP二次开发的面向对象的一门编程语言,主要包含报表开发,对话程序(你点程序中的东西,会跟着变化),增强这三大类。以下是SAP的开发包/类(对象,函数这些都包含这中间)SE21;都是以Z和Y字开头(这是SAP给用户的定义)。锁对象则是以E开头。我们现在用的包;一:主要是输入下两样2.注意我们的命名规则,先是功能+用户名+时间(这个请求可能会传到其它开发系统)3.在SE80(对象浏览器)下可以看到我们这个包的所有的东西;二:程序建立过程(SE38)如果点源代码,则可以在这_abap
文章浏览阅读2.1k次。大纲:zeppelin整体架构分析 zeppelin-Interpreter Zeppelin-note zeppelin-paragraph一、Zeppelin整体架构分析首先上一张官方给出的Zeppelin整体架构图Apache Zeppelin的架构比较简单直观,总共分为3层:Zeppelin 前端 Zeppelin Serv..._zeppelin原理
文章浏览阅读2.2k次,点赞4次,收藏27次。第一次进行前端开发,经验总结,个人记录使用语言 HTML5+CSS+PHP(不过由于需求方要求比较简单 并没有使用上PHP)使用框架:WEUI项目内容:微信公众号页面总结:1.菜鸟教程会讲述很多基本语法,所以html5、css、php等语言一些基本内容不懂可以去查阅学习一下,里面还有案例。附上链接:https://www.runoob.com/2.善于使用框架。WE..._公众号前端怎么写项目职责
文章浏览阅读3.5k次。HBase中的Client如何路由到正确的RegionServer在HBase中,大部分的操作都是在RegionServer完成的,Client端想要插入,删除,查询数据都需要先找到相应的 RegionServer。什么叫相应的RegionServer?就是管理你要操作的那个Region的RegionServer。Client本身并 不知道哪个RegionServer管理哪个Region,那么..._hbase 前缀查询取第一条
文章浏览阅读928次,点赞19次,收藏21次。用于定义和管理数据库结构,包括创建、修改和删除数据库对象。_mysql在查询结果中进行二次查询
文章浏览阅读2.9k次,点赞5次,收藏28次。域与域权限判断1 域控基础1.1 活动目录1.2 域中的计算机分类1.3 域内权限解读2 查询当前域权限2.1 获取当前用户与域 SID2.2 判断是否存在域2.3 判断主域2.3.1 判断域控制器和DNS 服务器是否在同一服务器上1 域控基础1.1 活动目录活动目录(Active Directory,AD)是指域环境中提供目录服务的组件。目录用于存储有关网络对象(例如用户、组、计算机、共享资源、打印机和联系人等)的信息,目录服务是指帮助用户快速、准确地从目录中找到其所需要的的信息的服务。如果把_怎么看域控
文章浏览阅读741次,点赞28次,收藏23次。广义回归神经网络 CGRNN, Generalized Regression Neural Network)是美国学者 Don-aid F. Specht 在 1991 年提出的,它是径向基神经网络的一种。GRNN 具有很强的非线性映射能力和柔性网络结构以及高度的容错性和鲁棒性,适用于解决非线性问题。GRNN在逼近 能力和学习速度上较 RBF 网络有更强的优势,网络最后收敛于样本量积聚较多的优化回归 面,并且在样本数据较少时,预测效果也好。此外,网络还可以处理不稳定的数据。
文章浏览阅读7k次,点赞3次,收藏15次。第六章 二次型6.1 基本概念和性质二次型的定义含有 nn 个未知量 x1,x2,...,xnx_1,x_2,...,x_n 的二次多项式 f(x1,x2,...,xn)=∑i=1n∑j=1naijxixj, (aij=aji)f(x_1, x_2,...,x_n) = \sum_{i=1}^n \sum_{j=1}^n a_{ij}x_ix_j,\ (a_{ij} = a_{ji}) 称为实数域上_二次型矩阵a=1/2(a+at)