- 博客(25)
- 资源 (7)
- 收藏
- 关注
原创 c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
由于最近经常使用到c语言中的读写文件,所以在此总结以下,方便以后查找. 在c中,文件操作都是由库函数来实现的,主要是分为读和写两种操作,以下详细讲解以下所有有关文件操作的邯郸乎的用法:(1)fopen()函数:打开文包含头文件:#include格式:FILE * fopen(const char * path,const char * mode);参数: path
2012-07-25 09:08:06 54100 5
原创 文件操作中的lseek函数详解
所有打开的文件都有一个当前文件偏移量(current file offset),以下简称为 cfo。cfo 通常是一个非负整数,用于表明文件开始处到文件当前位置的字节数。读写操作通常开始于 cfo,并且使 cfo 增大,增量为读写的字节数。文件被打开时,cfo 会被初始化为 0,除非使用了 O_APPEND 。 使用 lseek 函数可以改变文件的 cfo 。 #inc
2012-07-24 09:27:49 15820
原创 linux多线程网络编程详解(包含具体例子讲解)
与多进程相同,采用多线程可以实现并发服务器,并且由于线程的系统开销小,切换时间短,对于需要处理大量客户的服务器而言其具有更大的优势,实现多线程并发服务器的基本流程是:当建立连接以后,服务器调用pthread_create()函数产生新的线程,由新的线程来处理客户端的请求,同时主线程等待另一个客户的连接请求,其中的典型的模板如下:#include#include#include#in
2012-07-23 20:51:48 9489
转载 linux下的多线程编程
1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?使用
2012-07-23 15:39:26 3201
原创 pthread_create函数的详细讲解(包括向线程函数传递参数详解)
pthread_create是UNIX环境创建线程函数头文件 #include函数声明 int pthread_create(pthread_t*restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),void *restrict arg);返回值 若成功则返
2012-07-20 14:52:57 164920 8
原创 unix下面目录的详细操作(包括实现给定目录遍历下面所有文件)
与目录相关的有:#include(1)DIR *opendir(const char *pathname);打开一个目录,并且返回一个DIR类型的指针(2)struct dirent *readdir(DIR *dp);读一个目录并且返回一个dirent类型的指针。(3)void rewinddir(DIR *dp);(4)long telldir(DIR *dp);
2012-07-19 16:34:47 2486
转载 exec函数族的详解
exec函数族也许有不少读者从本系列文章一推出就开始读,一直到这里还有一个很大的疑惑:既然所有新进程都是由fork产生的,而且由fork产生的子进程和父进程几乎完全一样,那岂不是意味着系统中所有的进程都应该一模一样了吗?而且,就我们的常识来说,当我们执行一个程序的时候,新产生的进程的内容应就是程序的内容才对。是我们理解错了吗?显然不是,要解决这些疑惑,就必须提到我们下面要介绍的exec系统
2012-07-18 16:15:49 1328 1
原创 unix网络编程的一个多进程的例子
题目:一次启动Server端和Client端后,首先由Server端发‘1’给Client端,Client端将接收到的数据加1后,发该数据给Server端,Server端再将数据加1后发给Client端,依次类推。直到Server端收到数据20,Client收到19时,两方中断收发写的程序如下:/***********************************client.c****
2012-07-18 15:36:38 962
转载 getaddrinfo()函数详解
gethostbyname和gethostbyaddr这两个函数仅仅支持IPv4,getaddrinfo()函数能够处理名字到地址以及服务到端口这两种转换,返回的是一个sockaddr结构的链表而不是一个地址清单。这些sockaddr结构随后可由套接口函数直接使用。如此以来,getaddrinfo函数把协议相关性安全隐藏在这个库函数内部。应用程序只要处理由getaddrinfo函数填写的套接口地址
2012-07-18 09:57:29 1566
原创 实验室环境搭建总结
标题 : 实验室环境搭建总结摘要:背景:由于实验室要973中期检查,需要搭建16台电脑来作为测试环境,同时让我们为了体验计算机是怎么从一个裸机到能正常跑各种正常软件和进行各种操作的工作的过程,同时熟悉linux环境下面一些常用的命令。由于其中遇到了各种各样纠结的问题,最终虽然我们一起都解决了各种问题并完成了16台测试环境的搭建,但是在这有必要把怎个装机的过程总结一下,通过这个总结可以作为以
2012-07-17 18:25:03 3318 1
原创 unix文件和目录操作的函数stat()、fstat()、lstat()、access()、umask()函数
(1)stat()函数:通过文件名filename来获取文件的属性值表头文件: #include #include 定义函数: int stat(const char *file_name, struct stat *buf);函数说明: 通过文件名filename获取文件信息,并保存在buf所指的结构体stat中返回值:
2012-07-17 14:52:47 4689
原创 c语言中常字符串处理的函数
为了更加的熟悉字符串操作的函数,所以把相应的函数积累如下:所有的字符串函数在网页http://zhwen.org/tools/clib/string/strncat.html都可以查询到。(1)sprintf()函数:把格式化的数据写入某个字符串sprintf函数现在用的最多的就是用来各种类型转换成字符串的应用。头文件:stdio.h函数原型:int sprintf( ch
2012-07-17 10:43:04 1193
原创 守护进程的详细总结(包括实例解析)
1、 守护进程的概念:守护进程(Daemon)是一种运行在后台的一种特殊的进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。由于在linux中,每个系统与用户进行交流的界面成为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端被称为这些进程的控制终端,当控制终端被关闭的时候,相应的进程都会自动关闭。但是守护进程却能突破这种限制,它脱离于终端并且在后台运行,并且
2012-07-16 20:25:35 25345 3
原创 unix环境下的文件操作的一些函数open()、close()、read()、write()、dup()、fsync()sync()函数
不带缓存的文件I/O操作主要有5个函数open、read、write、lseek和close。这几个不带缓存的操作是指每一个函数都只调用系统中的一个函数。这些函数不是ANSIC组成部分,但属于POSIX的组成部分。1.open函数(返回的文件描述符一定是最小的且没有被用过的数值)open 函数用于打开和创建文件。所需都文件#include//提供pid_t类型的定义
2012-07-15 19:02:00 11161 1
转载 ubuntu中安装php
一、安装Apache2sudo apt-get install apache2然后在Firefox中打开:http://localhost/提示成功安装完毕后,接下来就要启动Apache了如果只是用于本地开发,加强安全性,设置如下:xiaozhihu@xiaozhihu:~$ gksudo "gedit /etc/apache2/ports.conf"
2012-07-15 14:58:56 1099
原创 insmod加载驱动后开机重启后没有驱动的解决方法
为了是在命令行中执行insmod命令安装的驱动能在重启之后还有的解决方法大致有一下两种方法:(1)直接编译内核,把想安装的驱动在编译内核的时候给编译进去,这种方法比较麻烦,花的时候也比较的多,一般不采用这种方法(这种方法网上有很多资料可以参考)。(2)这种方法比较简单:就是在启动脚本中加载模块,这样每次开机启动都自动加载相应的驱动模块。具体的方式如下: 在文件/etc/rc.
2012-07-15 10:49:08 9750
原创 名字与地址转换的函数,gethostbyname()、gethostbyaddr()函数
(1)gethostbyname()函数:使用这个东西,首先要包含2个头文件:#include #include struct hostent *gethostbyname(const char *name);这个函数的传入值是域名或者主机名,例如"www.google.com","wpc"等等。传出值,是一个hostent的结构(如下)。如果函数调用失败,将返回NULL。
2012-07-12 15:15:37 1460
原创 在ubuntu中删除乱码文件的方法
(1)首先使用命令ls -i 查出要删除的乱码文件的节点号(2)然后使用find命令来删除文件或者目录:find -inum 节点号 rm -rf {} \;
2012-07-11 21:05:47 2370
原创 简谈linux环境下网络性能测试工具iperf
为了测试实验室的网络性能的情况,所以应用了iperf来测试了一下,以下是关于iperf工具的使用方法:(1)首先开两台机子(一台作为服务器,一台作为客户端),并且在两台机子都安装上iperf,具体安装要看相应的系统,我的是ubuntu用命令:sudo apt-get install iperf安装好之后就可以用iperf来对你的网络环境进行测试了,如下是iperf的使用方法:I
2012-07-11 09:28:44 6493 1
原创 unix网络编程中一些常见的函数的总结
一些unix网络编程中常见的函数总结:(1)socket()函数:该函数是TCP套接口的特色名字,该函数返回一个小整数描述字,在以后的其他函数调用中,我们就用它来表示这个套接口)用于生成socket描述符(soketDescrīptor)声明:SOCKETsocket(int af,int type,intprotocol);参数:第一个参数表示:协议族和地址族,一下三个常用的
2012-07-10 20:00:29 1163
原创 unix网络编程的一个简单例子总结
由于实验室的要求最近开始学习unix网络编程的相关知识,为了更好的理解unix网络编程的一些基本的函数的应用,所以写了一个很简单的程序包括客户端和服务器端。同时也总结出服务器端和客户端执行的相关流程。程序如下:/*************client.c*******************/# include # include # include # include
2012-07-10 19:16:22 991
转载 有关ubuntu下面怎么安装和设置ftp服务器vsftpd
该文章主要讲解了有关有关ubuntu下面怎么安装和设置ftp服务器vsftpd的方法,该文章主要来自于http://www.linuxidc.com/Linux/2008-01/10640.htm,但是自己修改了一些东西,原文如下:安装:sudo apt-get install vsFtpd配置:备份一下源文件:sudo cp /etc/vsFtpd.conf /etc/vsF
2012-07-07 20:00:44 852
原创 关于解决fcitx输入法乱码的问题解决
1、下载相应的fcitx版本:下载地址:www.fcitx.org2、用命令:sudo apt-get install fcitx安装fcitx输入法3、解决fcitx的乱码 (a)用命令sudo gedit --encoding gbk ~/.fcitx/config打开fcitx的编辑文档 (b)然后用以下的内容替换以前的所有内容,保存在重启就可以了![程序]显示
2012-07-07 10:12:47 3273
转载 运行unix网络编程的的第一个例子
本文章使转载于博客:http://blog.csdn.net/zxremail/article/details/4858714为了以后自己查阅方便所以贴在本文中.运行书本中的程序。1,首先,进入到Stevens的主页中下载原码2,然后,编译程序,方法如下: tar -zxvf unpv12e.tar.gz (-C dir)//解压文件 cd unpv12e
2012-07-06 20:09:51 1980
原创 RAID系列的详细总结
1、 RAID0:无差错控制的带区组 要实现RAID0必须要两个以上的硬盘驱动器,RAID0实现了带区组,数据并不是保存在一个硬盘上面的,而是分成数据块保存在不同的驱动器(不同的硬盘)上面。因为将数据分布在不同的驱动器上,所以数据的吞吐率大大提高,驱动器的负载也比较平衡。如果刚好所需要的数据在不同的驱动器上效率是最好的。它不需要计算校验码,它的缺点就是没有数据的差错控制,如果一个驱动器
2012-07-06 12:39:27 1946
Java 8 函数式编程(高清中文版无水印)
2018-04-21
这就是搜索引擎-核心技术详解
2018-01-28
fusioncharts的应用实例
2012-10-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人