随笔分类 -  Linux

摘要:(一)中已经介绍了使用strtok函数的一些注意事项,本篇将介绍strtok的一个应用并引出strtok_r函数。1.一个应用实例网络上一个比较经典的例子是将字符串切分,存入结构体中。如,现有结构体typedef struct person{ char name[25]; char sex[10]; char age[4];}Person;需从字符串 char buffer[INFO_MAX_SZ]="Fred male 25,John male 62,Anna female 16"; 中提取出人名、性别以及年龄。一种可行的思路是设置两层循环。外循环,先以 ',’ 阅读全文
posted @ 2012-02-10 10:34 姜戏◥⊙▲⊙◤郎 阅读(3565) 评论(0) 推荐(3) 编辑
摘要:strtok函数的使用是一个老生常谈的问题了。该函数的作用很大,争议也很大。以下的表述可能与一些资料有区别或者说与你原来的认识有差异,因此,我尽量以实验为证。交代一下实验环境是必要的,winxp+vc6.0,一个极端平民化的实验环境。本文中使用的源代码大部分来自于网络,我稍加修改作为例证。当然,本人水平有限,有不妥之处在所难免,各位见谅的同时不妨多做实验,以实验为证。strtok的函数原型为char *strtok(char *s, char *delim),功能为“Parse S into tokens separated by characters in DELIM.If S is NUL 阅读全文
posted @ 2012-02-10 10:11 姜戏◥⊙▲⊙◤郎 阅读(602) 评论(0) 推荐(0) 编辑
摘要:pipe.h 1 #ifndef _PIPE_H 2 #define _PIPE_H 3 4 int pipe_init(void); //初始化管道 5 int pipe_write_to_parent(void *buf, int len); //向父进程写数据 6 int pipe_write_to_child(void *buf, int len); //向子进程写数据 7 int pipe_read_from_parent(void *buf, int len); //读父进程数据 8 int pipe_read_from_chi... 阅读全文
posted @ 2011-12-12 19:57 姜戏◥⊙▲⊙◤郎 阅读(370) 评论(0) 推荐(1) 编辑
摘要:Makefile文件,创建共享库和静态库: 1 CROSSCOMPILE = arm-linux- 2 3 CC=${CROSSCOMPILE}gcc 4 LD=${CROSSCOMPILE}ld 5 AR=${CROSSCOMPILE}ar 6 7 CFLAGS= -O2 -c -Wall -fPIC 8 9 OBJCAT= *.o10 11 all: libmodem.so.1 libmodem.a12 13 libmodem.so.1:14 $(CC) ${CFLAGS} serial.c atchannel.c ppp.c pipe.c interface.c h... 阅读全文
posted @ 2011-09-02 21:34 姜戏◥⊙▲⊙◤郎 阅读(241) 评论(0) 推荐(0) 编辑
摘要:Linux 包含了一个叫 gdb 的 GNU 调试程序. gdb 是一个用来调试 C 和 C++ 程序的强力调试器. 它使你能在程序运行时观察程序的内部结构和内存的使用情况. 以下是 gdb 所提供的一些功能:它使你能监视你程序中变量的值.它使你能设置断点以使程序在指定的代码行上停止执行.它使你能一行行的执行你的代码.以下演示一个example.c程序的调试过程:example.c文件内容如下, 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 5 void my_print1(c 阅读全文
posted @ 2011-09-02 21:08 姜戏◥⊙▲⊙◤郎 阅读(328) 评论(0) 推荐(0) 编辑
摘要:gdgn_526345发表于 2009-11-25 14:54linux 创建进程函数fork()返回值的疑问linux创建进程函数fork()正确调用一次的时候有两个返回值:子进程返回:0父进程返回:>0的整数(返回子进程ID号)而错误的时候返回-1而在介绍fork()函数时的应用例子一般都为以下结构:如下例:#include <sys/types.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>int main(void){ pid_t result; /*调用fork 阅读全文
posted @ 2011-06-22 10:19 姜戏◥⊙▲⊙◤郎 阅读(1450) 评论(1) 推荐(0) 编辑
摘要:makefile 里的函数跟它的变量很相似——使用的时候,你用一个 $ 符号跟开括号,函数名,空格后跟一列由逗号分隔的参数,最后用关括号结束。例如,在 GNU Make 里有一个叫 'wildcard' 的函 数,它有一个参数,功能是展开成一列所有符合由其参数描述的文件名,文件间以空格间隔。你可以像下面所示使用这个命令: SOURCES = $(wildcard *.c) 这行会产生一个所有以 '.c' 结尾的文件的列表,然后存入变量 SOURCES 里。当然你不需要一定要把结果存入一个变量。 另一个有用的函数是 patsubst ( patten substitude, 匹配替换的缩写) 阅读全文
posted @ 2011-01-11 09:34 姜戏◥⊙▲⊙◤郎 阅读(14475) 评论(0) 推荐(1) 编辑
摘要:用sudo时提示"xxx is not in the sudoers file. This incident will be reported.其中XXX是你的用户名,也就是你的用户名没有权限使用sudo,我们只要修改一下/etc/sudoers文件就行了。下面是修改方法:1)进入超级用户模式。也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。(当然,你也可以直接... 阅读全文
posted @ 2010-09-27 16:49 姜戏◥⊙▲⊙◤郎 阅读(3530) 评论(0) 推荐(0) 编辑
摘要:在linux下遍历某一目录下内容LINUX下历遍目录的方法一般是这样的打开目录->读取->关闭目录相关函数是opendir -> readdir -> closedir,其原型如下:#include <dirent.h>DIR *opendir(const char *dirname);struct dirent *readdir(DIR *dirp);int ... 阅读全文
posted @ 2010-09-09 18:02 姜戏◥⊙▲⊙◤郎 阅读(8527) 评论(1) 推荐(0) 编辑
摘要:请问怎么访问windows分区?怎么自动挂载windows分区?为什么要挂载?什么是fstab? 每个分区都需要挂载(mount)以后才能使用,包括系统根分区,家目录,swap等等,这些是启动时系统已经帮你搞定的,只是你不知道而已。那么系统是怎么搞定的呢?通过fstab文件啊!你可以打开/etc/fstab自己看看,比如我的有这样两行(不是只有这两行啊,我用这个举例,其他可以类推):代码:# /... 阅读全文
posted @ 2010-09-03 11:07 姜戏◥⊙▲⊙◤郎 阅读(3588) 评论(2) 推荐(0) 编辑
摘要:这个问题好像是ubuntu升级到9.04才出现的,在ubuntu下打开.TXT文件,中文显示为乱码,在这找到了解决的办法:终端输入gconf-editor调出gconf-editPS:输入gconf-editor即可,前面不需要加Sudo依次点开apps->gedit-2->preferences->encodings 中的auto-detected在双击弹出对话框中加入GB18030... 阅读全文
posted @ 2010-08-28 11:39 姜戏◥⊙▲⊙◤郎 阅读(472) 评论(0) 推荐(0) 编辑
摘要:su命令是在用户间切换,可以是从普通用户切换到root用户,也可以是从root用户切换到普通用户,当由普通用户切换到root用户时,需要认证密码。在Ubuntu下,第一次从普通用户切换到root用户时,会提示su认证失败,借鉴前人经验,解决方案为:◆允许 su 到 root 设置过程如下:test@test-desktop:~$ sudo passwd输入新的 UNIX 密码: 重新输入新的 UN... 阅读全文
posted @ 2010-08-28 11:04 姜戏◥⊙▲⊙◤郎 阅读(4610) 评论(0) 推荐(0) 编辑
摘要:今天在Ubuntu上试着装了一下Fcitx,呵呵,初试成功,用此输入法在和大家分享下(在此先谢谢前人的经验)~!我的Ubuntu版本是 10.04下安装fcitx-utf8 (比fcitx更新,更好用) 现在最新的包.是fcitx-utf8-svn_3.6.3-20100713-r389_i386.deb 下载地址: http://code.google.com/p/fcitx/downloads... 阅读全文
posted @ 2010-08-27 16:28 姜戏◥⊙▲⊙◤郎 阅读(958) 评论(0) 推荐(0) 编辑
摘要:.tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileNa... 阅读全文
posted @ 2010-08-25 20:22 姜戏◥⊙▲⊙◤郎 阅读(314) 评论(0) 推荐(0) 编辑
摘要:Visual模式:删除一定的内容:进入Visual模式,再选中所要删除的内容,最后输入d即可进行删除,如vllllllld,表示删除7个字符;vjj,表示删除三行。Ctrl+v模式:可以进行块选择,使用o可以将光标置于块的另一头。普通模式::scriptnames 查看vimrc的具体名字和位置。简单的映射: :map <F5> i{<Esc>ea}<Esc> ... 阅读全文
posted @ 2010-08-07 11:52 姜戏◥⊙▲⊙◤郎 阅读(376) 评论(0) 推荐(0) 编辑
摘要:使用vi编辑器编辑文件时,经常会由于非正常退出而产生一个swp文件,以后每次进入时都会提示,非常麻烦。现将网上搜集的解决方法陈列于此:swp文件产生原因分为:1.当你用多个程序编辑同一个文件时。         2.非常规退出时。通常最后的少量改动无法恢复. Vim会在你连续4秒不键入内容时跟磁盘同步一次, 或者是连续键入了200个字符之后. 这可以通过´updatetime&acut... 阅读全文
posted @ 2010-07-27 14:37 姜戏◥⊙▲⊙◤郎 阅读(5258) 评论(0) 推荐(0) 编辑
摘要:一、插入文本┌──┬────────────┐ │命令│描述          │ ├──┼────────────┤ │i  │在当前字符前插入文本  │ ├──┼────────────┤ │I  │在行首插入文本      │ ├──┼────────────┤ │a  │在当前字符后添加文本  │ ├──┼────────────┤ │A  │在行末添加文本     │ ├──┼─────... 阅读全文
posted @ 2010-07-27 09:39 姜戏◥⊙▲⊙◤郎 阅读(225) 评论(0) 推荐(0) 编辑