Linuc C 编程实例1
1 get.c
#include <stdio.h>
#include <string.h>
#include <strings.h>int main(void)
{char buf[100];bzero(buf, 100);fgets(buf, 100, stdin);printf("you have input %d letters\n", strlen(buf));return 0;
}
bzero函数
原型:extern void bzero(void *s, int n);
用法:#include <string.h>
功能:置字节字符串s的前n个字节为零。
bzero无返回值。
这和Windows不一样;
2 fork1.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>int global = 22;int main(void)
{int test = 0,stat;pid_t pid;pid = fork();if(pid < 0){perror("fork");return -1;}else if(pid == 0){global++;test++;printf("global = %d test = %d Child,my PID is %d\n",global,test,getpid());exit(0);}else{global += 2;test += 2;printf("global = %d test = %d Parent,my PID is %d\n",global,test,getpid());exit(0);}
}
fork函数的返回情况是,
pid_t pid=fork();
if(pid==0){ //子进程
}
if(pid>0){//父进程
}
if(pid<0){//出错
}
3 exev.c
#include <stdio.h>
#include <unistd.h>int main()
{if(execlp("ps","ps","-ef",NULL) < 0){perror("execlp error");return -1;}return 0;
}
Linux 中有6个以 exec 开头的函数,
#include <stdio.h>
函数原型
int execl (const char *path,const char *arg,...);
int execv (const char *path, char *const argv[]);
int execle (const char *path,const char *arg,....,char *const envp[]);
int execve(const char *path, char const *argv[],char *const envp[]);
int execlp (const char *file,const char *arg,...);
int execvp (const char *file, char *const argv[]);
函数返回值 -1;出错
exec 函数族可以默认使用系统的环境变量,也可以传入指定的环境变量,这里,以"e" (Enviromen) 结尾的两个函数execle 、execve 就可以在 envp[] 中传递当前进程所使用的环境变量;
4 ftest1.c
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>int main(int argc, char const *argv[]) {int fd = -1; //文件描述符//打开文件fd = open( "mytest.txt", O_RDWR );if ( -1 == fd ) {printf("文件打开失败\n");}else {printf("文件打开成功,fd=%d\n", fd );}//读取文件int count = 0;char buf[20];count = read( fd, buf, 50 );if ( -1 == count ) {printf("文件读取失败\n");}else {printf("文件读取成功,实际读取的字节数目为:%d\n内容为%s\n", count, buf );}//关闭文件close( fd );return 0;
}
文件操作;文件要先存在;
运行情况如下;
Linuc C 编程实例1相关推荐
- Python并发编程实例教程
有关Python中的并发编程实例,主要是对Threading模块的应用,文中自定义了一个Threading类库. 一.简介 我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态 ...
- iOS网络编程-iCloud键值数据存储编程实例
iCloud键值数据存储设计 iCloud键值数据存储编程实例,画面中有两个开关控件,左图是设备1点击"设置iCloud数据"按钮,将控件状态保存到iCloud服务器.右图是设备2 ...
- NIO Socket编程实例
1.阻塞模式实例 NIOUtil类,用来通过SOcket获取BufferedReader和PrintWriter. package IO;import java.io.BufferedReader; ...
- linux c编程项目实例,Linux c编程实例_例子
例一:字符与整型变量的实现 #include int main() { int c1,c2; char c3; c1='a'-'A'; c2='b'-'B'; c3='c'-; printf(&quo ...
- C#中Socket多线程编程实例
C#是微软随着VS.net新推出的一门语言.它作为一门新兴的语言,有着C++的强健,又有着VB等的RAD特性.而且,微软推出C#主要的目的是为了对抗Sun公司的Java.大家都知道Java语言的强大功 ...
- 《突破C#编程实例五十讲》源文件下载(2)
上接<<突破C#编程实例五十讲>源文件下载(1)> 有兴趣的朋友下载看看吧,一共有9个压缩包分3篇文章,下载要注意哦,不然解压要出错哦! 转载于:https://blog.51 ...
- java编程50实例_java编程实例大全及详解谜底(50例).doc
java编程实例大全及详解谜底(50例).doc 还剩 33页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: 谓 ...
- Hadoop Streaming编程实例
Hadoop Streaming是Hadoop提供的多语言编程工具,通过该工具,用户可采用任何语言编写MapReduce程序,本文将介绍几个Hadoop Streaming编程实例,大家可重点从以下几 ...
- 三菱plc编程实例3000_三菱PLC十字路口的红绿灯编程实例
点击↑↑上方关注,回复100领取电气控制100例. 十字路口车辆穿梳,行人熙攘,车行车道,人行人道,有条不紊.那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统,下面介绍三菱PLC编程实现的 ...
最新文章
- 应用层下的人脸识别(二):人脸库
- Jenkins部署:The username and password you provided are not correct (error 401)
- java 枚举高级应用_【后端】java基础(5.6)java高级基础之枚举
- 各机器学习平台视频建模功能汇总
- 深入Managed DirectX9
- 自考管理系统中计算机应用2016.10,2016年10月自考管理信息系统练习题及答案(一)...
- 【软件体系结构】软件体系结构风格
- Leetcode 1284 Minimum Number of Flips to Convert Binary Matrix to Zero Matrix
- 不租服务器,自建个人商业网站(如何购买域名)
- 教师必备,4款超实用的微信小程序分享~
- xctf-supersqli
- 电脑开启麦克风有回音,录音声音太小怎么办?
- 用7z命令压缩文件夹
- 【已解决】部分安卓手机,部分ios机型,调微信的jssdk方法失败
- Apache Tomcat安全漏洞列表及整改建议合集
- Shader入门精要-4-高级篇
- 33-viper 配置文件加载
- 学计算机大一入实验室,上大一就可以做科研的上科大:充分尊重第一志愿,一半新生学计算机...
- DingTalk钉钉消息通知
- 互斥锁(排它锁、独占锁、写锁、X锁)和共享锁(读锁、S锁) 自旋锁