kindle paperwhite 简单笔记按名称分类
已更新python,见新博客 http://www.hrwhisper.me/archives/708
写作背景:
南京决赛比赛完那天晚上写的。
使用方法:
将My Clippings.txt 放在e盘根目录下即可。
输出也在e盘根目录。
设计思想:
以下面的笔记为例。在每一段笔记后面都是==========分隔。
同样书名的也会分隔。
而kindle对于不同书只会直接往下继续写。要是同时看几本书就乱七八糟的。
嗯so~
读取第一行作为书名判断,第二行无用数据抛弃掉。
接下来的正文读取到==========为止。
然后按相同书名的输出即可。
当然如果你在标注的同时写了笔记。。我这个功能没做,因为Kpw2打字蛋疼死!
嗯还有就是中文处理有点问题,先不修复了。
反正能用。
行者无疆 (余秋雨)
- 您在位置 #1635-1636的标注 | 添加于 2014年8月26日星期二 下午11:33:04 看城市潜力,拥挤的市中心不是标志。市中心是一个旋涡,把衰草污浊旋到了外缘。真正的潜力忽闪在小巷的窗台下,近郊的庭园里。
==========
行者无疆 (余秋雨)
- 您在位置 #1642-1643的标注 | 添加于 2014年8月26日星期二 下午11:33:33 这就像写作,当形容词如女郎盛妆、排比句如情人并肩,那就一定尚未进入文章之道。文章的极致如老街疏桐,桐下旧座,座间闲谈,精致散漫。 城市这篇文章,也是这样。
==========
源代码:
//kindle笔记简单分类。
//by hrwhisper 2014.8.21
#include<cstdio>
#include<cstring>
#include<vector>
using namespace std;
const int MAXLINELENGTH = 10000; //max note length
const int MAXBOOK = 1000; //max book numbers
char line[MAXLINELENGTH];
const char newNoteTarget[] = "==========";
int curBookLen = 0;//current read book numbers;
int curNoteLen = 0; //current note numbers;
char bookName[MAXBOOK][MAXLINELENGTH]; //restore all bookName
char noteContent[MAXBOOK][MAXLINELENGTH << 4]; //all note content
char curBookName[MAXBOOK]; //current book name;
vector<int> nameIndex[MAXBOOK]; //the name includes indexs in the same line. int curBookNameIndex(char *name){
int id=-1;
for (int i = 0; i < curBookLen; i++)
{
if (strcmp(name, bookName[i]) == 0)
{
id = i;
return id;
}
}
if (id == -1)
{
id=curBookLen++;
strcpy(bookName[id], name);
}
return id;
}
int main()
{
freopen("E:\\My Clippings.txt","r",stdin);
freopen("E:\\result.txt", "w", stdout);
while (gets(curBookName) != NULL)
{
int id = curBookNameIndex(curBookName);
printf("%s\n", curBookName);
nameIndex[id].push_back(curNoteLen);
gets(line); //这是无用数据的,因为是日期
while (gets(line), strcmp(line, newNoteTarget) != 0)
{
strcat(noteContent[curNoteLen], line);
}
//printf("%s\n", curBookName);
curNoteLen++;
} for (int i = 0; i < curBookLen; i++)
{
puts(bookName[i]);
printf("\n");
for (int j = 0; j < nameIndex[i].size(); j++)
{
printf("%s",noteContent[ nameIndex[i][j] ]);
printf("\n\n");
}
printf("\n\n\n\n\n%s\n",newNoteTarget);
} return 0;
}
kindle paperwhite 简单笔记按名称分类的更多相关文章
- 动一动手指,玩转 Kindle Paperwhite 2 (2015.7.13)
Crtl+F 可搜索关键词.不(da)定(si)期(bu)更新,注明本帖链接即可转载.我可懒得写太详细,所以直接引了贴吧/论坛链接,这里衷心感谢原作. 首发贴吧,结果没几个人回复加上某度抽风难止就转移 ...
- 玩转kindle paperwhite: 如何越狱,安装强大外挂软件koreader
NOTICE 1: 在更新kpvbooklet和使用最新版本的koreader(v2013.03-211)时候,会出现pdf文档无法重排的错误.亲测. 如果你是使用的最新版本koreader且出现上述 ...
- Android_简单笔记一
入门学习Android的简单笔记(已经安装好了开发环境ADT) 一.关于 AndroidManifest.xml文件 1. android:icon和android:label定义了应用程序安装后显示 ...
- mybatis-config.xml简单笔记
mybatis-config.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...
- applicationContext.xml简单笔记
applicationContext.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <bean ...
- kindle paperwhite折腾记
在亚马逊官网上买了一个kindle paperwhite 一代(849元) , 打算再买个皮套, 淘宝店 http://detail.tmall.com/item.htm?spm=a230r.1.1 ...
- Kindle Paperwhite 2使用体验
博客开通后一懒就扔下了几十天,着实自惭.鉴于是第一篇,先说点题外话. 一转眼读研的生活已经过去一年有余.曾经的同学已经在职场拼搏,同龄人的生活状态也自然地带给自己一份紧迫感:不敢再贪恋校园生活的安逸, ...
- Python学习笔记2-flask-sqlalchemy 简单笔记
flask-sqlalchemy 简单笔记 字数 阅读 评论 喜欢 flask-sqlalchemy SQLAlchemy已经成为了python世界里面orm的标准,flask是一个轻巧的web框架, ...
- 卓越网的kindle paperwhite
卓越网的kindle paperwhite, 899元的价钱,好吸引啊,我是不是也应该买一个呢,从卓越网中看见kindle paperwhite的1代开始,一直想买,等到现在的2代也出了,也继续在考虑 ...
随机推荐
- 玲珑学院 1010 - Alarm
1010 - Alarm Time Limit:1s Memory Limit:128MByte DESCRIPTION Given a number sequence [3,7,22,45,116, ...
- A电脑能ping 通B电脑,但B电脑无法ping能和访问B
过程: A电脑共享了打印机,B电脑想连接A的打印机,发现拒绝访问,无法登录A电脑 问题: A电脑能ping 通B电脑,但B电脑无法ping能和访问B 原因:A电脑禁用了共享访问 处理:使用一键共享设置 ...
- C/C++(C++封装)
封装 当单一变量无法完成描述需求的时候,结构体类型解决了这一问题.可以将多个类型打包成一体,形成新的类型.这是 c 语言中封装的概念.但是,新类型并不包含,对数据类的操作.所的有操作都是通过函数的方式 ...
- 客户端本地存储(cookie、web Storage、vuex)选择
一.cookie .localStorage .sessionStorage .vuex 比较 cookie 4K 有时效性 可服务器传递 cookie是由服务器产生,存储在客户端的一 ...
- 解决MyEclipse中安装或升级ADT之后SDK Target无法显示的问题
故障现象,在MyEclipse里面安装完最新的android sdk和ADT之后,无法新建项目,Build Target为空,显示一直在loading.即如下面图里面显示的,Target Na ...
- 洛谷—— P2387 魔法森林
题目描述 为了得到书法大家的真传,小 E 同学下定决心去拜访住在魔法森林中的隐 士.魔法森林可以被看成一个包含 n 个节点 m 条边的无向图,节点标号为 1,2,3,…,n,边标号为 1,2,3,…, ...
- Volley简单学习使用五—— 源代码分析三
一.Volley工作流程图: 二.Network 在NetworkDispatcher中须要处理的网络请求.由以下进行处理: NetworkResponse networkResponse = ...
- spring 使用c3po连接池
1 数据源:能够简单理解为数据的来源. 2 连接池:是缓存一定数量的数据库连接,当程序须要数据库连接的时候,直接在连接池中获取空暇的连接,使用完再放回连接池中,此连接又变成空暇状态,等待下一次连接. ...
- Qwt库的一个使用注意事项
作者:朱金灿 来源:http://blog.csdn.net/clever101 一般debug版本的程序链接release版本的库是没有问题的.今天使用debug版本程序链接release版本的qw ...
- js中的组合模式
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...