请稍侯

feof()函数陷阱

先从一个简单的输出开始 一个程序,代码如下: #include<stdio.h> int main() { char buff[1024]; memset(buff, 0, sizeof(buff)); FILE* f = fopen("a.txt", "r"); while (!feof(f)) { printf("---not eof\n"); fgets(buff, sizeof(buff), f); printf("buff is -- %s", buff); } ...

read more

Codeblock和Cygwin配置

使用Codeblock和Cygwin在win7下开发Linux程序 环境:win7,codeblock13.12,Cygwin(这个木有版本貌似) 下载Cygwin,然后安装,注意安装包要选上gcc,g++,make,gdb…. 下载Codeblock然后安装 配置Codeblock Settings–>Compiler–>Global Complier Settings 选择”Cygwin Compiler”, 点击”Copy”按钮 配置如下图: ...

read more

Linux中tr命令

tr是translate的简写,亦即翻译,但是遗憾的是,它不能翻译句子,只能翻译单个字符。 1.tr的工作原理是什么? 先记住一点,tr命令不接受指定的文件参数,而只是对标准输入进行翻译。好了,记住这点后,我们继续。 tr的命令格式是tr SET1 SET2,凡是在SET1中的字符,都会被替换为SET2中相应位置上的字符,简单吧! 2.举个例子 tr的例子其实都大同小异,看一个最简单的例子: 我们有一个包含了四个人身高的数据文件,名字叫height.txt,它的内容是这样的: [root@root]$ cat height.txt 1.79 1.83 1.65 1.59 我...

read more

POSIX线程编程

POSIX的主要函数 int pthread_create (pthread_t *, const pthread_attr_t *,void *(*)(void *), void *); 应用代码: /* * ph.c * * Created on: 2012-10-14 * Author: defnone */ #include <pthread.h> #include <stdio.h> #include <stdlib.h> #define NUM_THREADS 5 //线程要执行的函数 void *Prin...

read more

vim复制多行

第一种方式 光标移到第5行任意位置,输入ma 光标移到第1行任意位置,输入y’a(这一定要打这个“’”单引号,否则就进入“INSERT”状态了 光标移到需要复制的行,输入p,行前复制输入大写P 第二种方式 首先把光标移到第1行,然后d4(这里一共复制了1~5行,技巧是利用删除的命令,其实这里是删除1~5行,删除完了后,一定要使用u命令来取消删除,不过在删除的同时复制了这1~5行,所以可以使用p来复制) p 然后把光标移到要粘贴的位置 p 第三种种方式 Nyy命令复制从光标所在行开始的N行,一般在5行以内非常直观的数字时使用的比较多 备注: 千万不要同时使用多次复制多行,只会认第一次...

read more

Sublime text插件推荐

Sublime text插件推荐 Package Control 这个是安装插件的基础 Colorsublime 这个插件安装完成后又好多主题可以设置 安装完成配置命令: Crtl + Shift + p # 启动命令 Colorsublime:Install Theme SyncedSidebarBg 这个插件让你的左侧边栏的主题和中央编辑器同步背景 SiderBarEnhancements 左侧边栏增强 PrettyJson 格式化Json ConvertToUTF8 可以保存UTF-8格式文件 IMESupport 输入框跟随 Markdowm preview ...

read more

安装Ubuntu后的配置

换更新源 从网易下载新的sources.list文件 命令: wget -c http://mirrors.163.com/.help/sources.list.vivid sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak mv sources.list.vivid /etc/apt/sources.list sudo apt-get update 安装openssh-server 命令: sudo apt-get install openssh-server 开启ssh ...

read more

Linux快捷键

常用 ctrl + ? 撤消前一次输入 ctrl + c 另起一行 ctrl + r 输入单词搜索历史命令 ctrl + u 删除光标前面所有字符相当于VIM里d shift+^ ctrl + k 删除光标后面所有字符相当于VIM里d shift+$ 删除 ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dl ctrl + h 删除光标所在位置前的字符相当于VIM里hx或者dh ctrl + k 删除光标后面所有字符相当于VIM里d shift+$ ctrl + u 删除光标前面所有字符相当于VIM里d shift+^ ctrl + w 删除光标前一个单词相当于VIM...

read more

enumerate函数

enumerate(iterable, start=0) Return an enumerate object. iterable must be a sequence, an iterator, or some other object which supports iteration. The next() method of the iterator returned by enumerate() returns a tuple containing a count (from start which defaults to 0) and the values obtained ...

read more

Python闭包

什么是闭包? 闭包并不是什么新奇的概念,它早在高级语言开始发展的年代就产生了。闭包(Closure)是词法闭包(Lexical Closure)的简称。 对闭包的具体定义有很多种说法,这些说法大体可以分为两类: 一种说法认为闭包是符合一定条件的函数,比如参考资源中这样定义闭包:闭包是在其词法上下文中引用了自由变量(注1)的函数。 另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。 比如参考资源中就有这样的的定义:在实现深约束(注2)时,需要创建一个能显式表示引用环境的东西,并将它与相关的子程序捆绑在一起, 这样捆绑起来的整体被称为闭包。这两种定义在某种意义上...

read more