
Linux C
文章平均质量分 67
不文东
一点一点的记。
展开
-
数据结构 c语言实现顺序队列(输数字入队,字符出队)
一.头文件seqqueue.h实现#ifndef __SEQQUEUE_H__#define __SEQQUEUE_H__#include#include#include#define MAXSIZE 64typedef int datatype;typedef struct seqqueue{ datatype data[MAXSIZE];原创 2017-07-29 13:57:36 · 2585 阅读 · 0 评论 -
(一)Linux中vi的复制粘贴命令
vi编辑器有3种模式:命令模式、输入模式、末行模式。掌握这三种模式十分重要: 命令模式:vi启动后默认进入的是命令模式,从这个模式使用命令可以切换到另外两种模式,同时无论在任何模式下只要按一下[Esc]键都可以返回命令模式。在命令模式中输入字幕“i”就可以进入vi的输入模式编辑文件。 输入模式:在这个模式中我们可以编辑、修改、输入等编辑工作,在编辑器最后一行显示一个“--INS原创 2017-07-26 21:09:08 · 66451 阅读 · 1 评论 -
(二)Linix下多文档的数据结构顺序表实现
makefile代码:在makefile文件中 1 CC = gcc 2 CFLAGS = -O0 -g -Wall 3 test:test.c homework.c 4 .PHONY:clean 5 clean: 6原创 2017-07-26 22:32:37 · 302 阅读 · 0 评论 -
(三)linux下c语言用fgets()函数统计一个文本文件包含多少行
/* 统计一个文件有多少行*fgets()函数是一个行缓冲的函数*行缓冲的函数一般有4种情况来刷新缓冲区:*1:缓冲区满了*2:用fllush刷新缓冲区函数*3:流的关闭*4:遇到‘\n’*fgets()达到文件尾或读出错返回NULL。可以用foef()来判断是*出错,还是达到了文件尾。*注意点:fgets(buf,N,fp)*1:如果buf有N个字节,buf满了,则buf中有* N-1个字翻译 2017-08-01 13:40:14 · 1487 阅读 · 0 评论 -
(四)Linux下c语言用fread()和fwrite()实现文件复制
1.fput/fget按字符读取函数 : 可以读取文本文件和二进制文件,但是读单个字符效率比较低。2.fgets/fputs按行读取函数:只能处理文本文件,不能二进制文件,因为二进制包含0,0是终止符所以不能读。3.fread/fwrite按对象结构体读取:都可以读/所以推荐这种用法。#include#define N 64int main(int argc,char原创 2017-08-01 14:55:24 · 3923 阅读 · 1 评论 -
(五)linux下c语言实现在线词典
一.客户端代码:#include #include #include /* 套接字用的头文件*/#include #include #include //inet_addr ip地址格式的转换#include #include #include #define R 1//user - register#define L 2//原创 2017-08-14 16:34:43 · 4547 阅读 · 6 评论 -
(六)linux下c语言实现静态库的开发
一。库:二进制文件,包含代码可被调用。linux下库放的路径是/lib/usr/lib 下面linux下右静态库和共享库。二。静态库 用的话同时把代码拷贝过来了。对运行环境要求少,启动速度会更快。但是占用了太多磁盘和内存空间 静态库升级后,需要重新编译链接。三。静态库创建:1.明确库功能和接口,即参数和返回值。2。编写源码。3。编译用gcc -c hello.c -Wall 4.原创 2017-08-01 21:16:36 · 348 阅读 · 0 评论 -
(七)linux下共享库开发的流程
一.共享库:没复制函数,只是记录了用了哪些符号,在哪用。代码少,多程序可共享一个库。但是运行时还需要共享库。升级方便。系统更多的使用的是共享库。二创建和使用:1。确定函数和函数接口2。编译gcc -c -fPIC hello.c bye.c -Wall 其中-fPIC告诉编译器生成位置无关代码,可被加载到任意空间执行生成了.o文件3。创建共享库common 用gcc -shared原创 2017-08-01 22:08:38 · 312 阅读 · 0 评论 -
(八)linux下编程实现ls功能的打开、访问 、关闭目录以及提取属性。
opendir函数用打开一个目录文件:#includeDIR *opendir(const char *name);DIR是用来描述一个打开的目录文件结构体类型一 readdir访问目录二。修改文件访问权限#include中 int chmod(const char *path,mode_t mode);int fcmod(int fd,mode_t mode);原创 2017-08-01 20:29:45 · 377 阅读 · 0 评论 -
(九)linux下文件io与c的标准io对比
一.c的标准ioc函数中就有遵循ANSIC 带缓冲 文件IO遵循POSIX操作系统移植方便无缓冲。二.标准空通过流即FILE,而文件IO是通过文件描述符fd,也是一组函数,只在遵循posix操作系统下使用。三.linux中标准io基于文件io实现。每个打开的文件对应一个文件描述符,从0开始依次递增。四.open函数在fcntl.h中(const *path,int oflag,...)原创 2017-08-01 17:50:23 · 571 阅读 · 0 评论 -
(十)linux下用标准i/o实现格式化输出并且把时间每隔一秒输出到文件中
一格式化输出1。int printf();格式化好的字符串放到终端输出。2。int fprintf(FILE *stream,const char *fmt,...);可以输出到指定的流中。3。sprintf(char *s,const char *fmt);以指定格式把字符串输出到缓冲区中。FILE *fpchar buf[64]以指定年月日写入文件和缓冲区fpr原创 2017-08-01 15:48:03 · 1796 阅读 · 0 评论 -
数据结构中链式栈的c语言实现
一.头文件sqstack.h的实现#ifndef __SQSTACK_H__#define __SQSTACK_H__#include#includetypedef int datatype;typedef struct { datatype *data;//这样写能制定认为输入栈大小 int maxlen; int top;}sq原创 2017-07-28 17:20:24 · 487 阅读 · 0 评论 -
数据结构单链表的相关操作(linux下实现)C语言
数据结构单链表相关操作: 1.linklist.h文件下代码 #ifndef __LINKLIST_H__#define __LINKLIST_H__#include#includetypedef int datatype;typedef struct node{ datatype data; struct node *ne原创 2017-07-27 21:01:47 · 592 阅读 · 0 评论 -
linux 下 gdb没有符号表被读取。请使用"file" 命令
由于sublime没有调试功能,所以Linux 下调试还是要用gdb退出后,使用gdb时遇到这个问题,刚开始接触linux下使用gdb调试程序,生成断点时,出现linux gdb 没有符号表被读取。请使用 "file" 命令。其原因是生成的二进制可执行文件没有使用-g选项。gcc中-g选项是为了获得有关调试信息,要用gdb进行调试,必须使用-g生成二进制可执行文件,翻译 2017-07-27 01:22:58 · 9557 阅读 · 0 评论 -
数据结构中顺序栈c语言代码实现
一.sqstack.h头文件的代码#ifndef __SQSTACK_H__#define __SQSTACK_H__#include#includetypedef int datatype;typedef struct { datatype *data;//这样写能制定认为输入栈大小 int maxlen; int top;}sq原创 2017-07-28 15:00:38 · 980 阅读 · 0 评论 -
数据结构双向链表c语言实现(linux下多文件实现)
一.dlist头文件 #ifndef __DLIST_H__#define __DLIST_H__#include#includetypedef struct node{ int data; struct node *prior; struct node *next;}dlistnode;extern dlistnode原创 2017-07-27 23:51:08 · 361 阅读 · 0 评论 -
数据结构 c语言实现链式循环队列(输入数字入队 输入字母出队)
一.头文件linkqueue.h#ifndef __LINKQUEUE_H__#define __LINKQUEUE_H__#include#include#includetypedef int datatype;typedef struct linkqueuenode{ datatype data; struct linkqueueno原创 2017-07-29 16:51:45 · 3696 阅读 · 0 评论 -
数据结构 c语言 循环队列实现扑克牌问题
题目1:实现扑克牌问题扑克牌原理:有A-K共13张牌摞在一起,不知道其中的顺序,拿出最上面的一张放在最下面,拿出第二张牌放在桌子上,循环操作,直到所有牌放在桌子上,桌子上的牌的顺序是A-K,问牌摞在一起的顺序是什么? #include typedef struct Queue { int index; //原序号 }Queue; Queue qw[原创 2017-07-29 17:26:55 · 3052 阅读 · 0 评论 -
数据结构 二叉树的先序 中序 后序遍历(linux 下c语言实现)
一.头文件btree.h实现#ifndef __BTREE_H__#define __BTREE_H__#include#include#includetypedef char datatype_bt;typedef struct btreenode{ datatype_bt data; struct btreenode *lchild,原创 2017-07-29 23:33:03 · 807 阅读 · 0 评论 -
数据结构 c语言实现 二叉树的层次遍历(linux下实现)
测试序列:AB#CD###E#FGH##K###一.链式队列头文件linkqueue.h#ifndef __LINKQUEUE_H__#define __LINKQUEUE_H__#include#include#include#include"btree.h"typedef btree_pnode datatype;typedef struct l原创 2017-07-30 00:08:52 · 982 阅读 · 0 评论 -
数据结构 先序 中序 后序非递归算法(linux c实现)
//先序非递归算法void unpre_order(btree_pnode t){ linklist top;//指向栈顶结点指针 top =linkstack_create(); while(t != NULL || !linkstack_empty(top)) { if(t !=原创 2017-07-30 12:42:20 · 266 阅读 · 0 评论 -
数据结构 c语言 顺序查找算法(linux下实现)
#include#define N 10int seqsearch(int *a,int key);int main(){ int a[] = {3,5,7,2,9,8,4,3,10,2}; int i,key; char ch; while(1) { printf("please input key");原创 2017-07-30 16:33:08 · 571 阅读 · 0 评论 -
数据结构 c语言 hash查找 链地址法实现
一.t头文件hash.h的实现#ifndef __HASH_H__#define __HASH_H__#include#include#include#include#define N 11typedef int datatype_el;typedef struct listnode{ datatype_el data; struct原创 2017-07-31 07:01:26 · 2167 阅读 · 1 评论 -
标准io的文件复制功能
一.代码#includeint main(int argc,char *argv[]) //文件名要通过命令行参数传进来{ FILE *fps,*fpd; int ch; if(argc { printf("Usage :%s \n",argv[0]); return -1; } if((原创 2017-08-01 12:31:28 · 755 阅读 · 0 评论 -
(十一)linux下用c语言 实现file流的刷新和定位的相关函数
一.用fflush函数将缓冲区中的内容写到文件中#includeint main(){ FILE *fp; if((fp = fopen("test.txt","w"))==NULL)//普通文件 默认全缓冲 只有当缓冲区满或关闭才写道文件里 { perror("fopen"); return -1; }原创 2017-08-01 15:44:56 · 1006 阅读 · 0 评论