已更新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 简单笔记按名称分类的更多相关文章

  1. 动一动手指,玩转 Kindle Paperwhite 2 (2015.7.13)

    Crtl+F 可搜索关键词.不(da)定(si)期(bu)更新,注明本帖链接即可转载.我可懒得写太详细,所以直接引了贴吧/论坛链接,这里衷心感谢原作. 首发贴吧,结果没几个人回复加上某度抽风难止就转移 ...

  2. 玩转kindle paperwhite: 如何越狱,安装强大外挂软件koreader

    NOTICE 1: 在更新kpvbooklet和使用最新版本的koreader(v2013.03-211)时候,会出现pdf文档无法重排的错误.亲测. 如果你是使用的最新版本koreader且出现上述 ...

  3. Android_简单笔记一

    入门学习Android的简单笔记(已经安装好了开发环境ADT) 一.关于 AndroidManifest.xml文件 1. android:icon和android:label定义了应用程序安装后显示 ...

  4. mybatis-config.xml简单笔记

    mybatis-config.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...

  5. applicationContext.xml简单笔记

    applicationContext.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <bean ...

  6. kindle paperwhite折腾记

    在亚马逊官网上买了一个kindle paperwhite 一代(849元) , 打算再买个皮套, 淘宝店  http://detail.tmall.com/item.htm?spm=a230r.1.1 ...

  7. Kindle Paperwhite 2使用体验

    博客开通后一懒就扔下了几十天,着实自惭.鉴于是第一篇,先说点题外话. 一转眼读研的生活已经过去一年有余.曾经的同学已经在职场拼搏,同龄人的生活状态也自然地带给自己一份紧迫感:不敢再贪恋校园生活的安逸, ...

  8. Python学习笔记2-flask-sqlalchemy 简单笔记

    flask-sqlalchemy 简单笔记 字数 阅读 评论 喜欢 flask-sqlalchemy SQLAlchemy已经成为了python世界里面orm的标准,flask是一个轻巧的web框架, ...

  9. 卓越网的kindle paperwhite

    卓越网的kindle paperwhite, 899元的价钱,好吸引啊,我是不是也应该买一个呢,从卓越网中看见kindle paperwhite的1代开始,一直想买,等到现在的2代也出了,也继续在考虑 ...

随机推荐

  1. 重写prototype原型后哪些东西改变了

    参考<JavaScript高级教程>实例看: 1.重写原型对象后,首先原型对象的constructor属性值(constructor的指向)会发生改变. function Person() ...

  2. BZOJ3130: [Sdoi2013]费用流(二分,最大流)

    Description Alice和Bob在图论课程上学习了最大流和最小费用最大流的相关知识.    最大流问题:给定一张有向图表示运输网络,一个源点S和一个汇点T,每条边都有最大流量.一个合法的网络 ...

  3. caioj 1066 动态规划入门(一维一边推4:护卫队)(分组型dp总结)

    很容易想到f[i]为前i项的最优价值,但是我一直在纠结如果重量满了该怎么办. 正解有点枚举的味道. 就是枚举当前这辆车与这辆车以前的组合一组,在能组的里面取最优的. 然后要记得初始化,因为有min,所 ...

  4. CSUOJ 1532 JuQueen

    Problem H JuQueen JuQueen is the super computer with the best performance allover Germany. It is on ...

  5. ArcGIS 空间查询一例

    ISpatialFilter spatialFilter = new SpatialFilterClass(); spatialFilter.Geometry = Polygon ;//设置用于筛选几 ...

  6. Eclipse语言的切换方法

    安装完中文语言包之后,如果想切换回英文,可以按照下边的方法来做: 创建一个快捷方式,然后鼠标邮件这个快捷方式,在属性里加入-nl "en_US" 记得加空格.应用就可以. 同理切换 ...

  7. androidclient和站点数据交互的实现(基于Http协议获取数据方法)

    androidclient一般不直接訪问站点数据库,而是像浏览器一样发送get或者post请求.然后站点返回client能理解的数据格式,client解析这些数据.显示在界面上.经常使用的数据格式是x ...

  8. TCP/IP协议族-----20、远程登录:TELNET与SSH

  9. js---06函数传参数

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  10. Python 数据结构与算法 —— 哈弗曼树

    1. 从扩充二叉树到哈弗曼树 扩充二叉树:对二叉树 T,加入足够多的新叶节点(而不是任意),使 T 的原有结点都变成度数为 2 的分支节点,得到的二叉树称为 T 的扩充二叉树. 对于扩充二叉树而言, ...