linux c语言编程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux c语言编程相关的知识,希望对你有一定的参考价值。
一.编写一个C语言程序,用open函数在当前目录下创建一个文件test.txt,然后将数字1~100按顺序写入文件, 之后分别读出第50(从文件开始处计算)、第100个字节处的数字, 并输出该数字到标准输出。然后关闭并删除文件。
要求:.
i. 在Linux操作系统下调试通过后,在试卷上填写你的程序,并写好完整的注释。
ii. 写下你对程序中所使用的open,、write、close等文件系统调用的功能的理解。
iii. 雷同的程序两者都按零分处理。
二. 首先用shell命令在用户主目录下创建一个文件myfile, 然后用C语言编写一个程序打印出该文件的类型和组权限位, 判断该用户对该文件是否有执行权限。如果没有,请通过chmod函数给它加上执行权限。
要求和问题:
i. 你是如何用shell命令创建一个文件的?什么是用户的主目录?
ii. 在Linux操作系统下调试通过后,在试卷上填写你的程序,并写好完整的注释。
iii. 雷同的程序两者都按零分处理。
作业需要两个C程序,应该不难,哪位大哥帮我看看,调试成功后把程序发给我qq6920391 邮箱6920391@qq.com并留下回答者昵称。成功后直接给分。
PS:不要把程序贴到知道上,以免别人复制。程序要原创的。是linux下的C语言编程不是PC下的。有想做的请在知道后跟贴,方便我给您分数。本人linux小白+_+,还有第一题要用到open、write、close等文件系统调用的功能。
起码是linux 下的C语言编程,搞嵌入式开发的吧。
我也来试试,正想向这个方向研究呢。呵呵
另:公司只能上百度,只能这里给你了.
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#define LEN 100
main()
int fd, len;
int i;
char ch[LEN];
fd=open("test.txt",O_CREAT|O_RDWR,10705);
if(fd)
for(i=1;i<101;i++)
sprintf(ch,"%d",i);
write(fd,ch,strlen(ch));
close(fd);
fd = open("test.txt",O_RDWR);
lseek(fd,50,SEEK_SET);
if(fd)
len = read(fd,ch,1);
ch[len] = '\0';
printf("%s\n",ch);
lseek(fd,100,SEEK_SET);
if(fd)
len = read(fd,ch,1);
ch[len] = '\0';
printf("%s\n",ch);
close(fd);
if(!remove("test.txt"))
printf("test.txt have remove\n");
else
printf("can't remove\n");
这是第一题. 参考技术A 我贴个第二题的吧。
#/bin/sh
cd
touch myfile
============================================================
#include<stdio.h>
#include<sys/stat.h>
#include<stdib.h>
main()
struct stat file;
stat("myfile",&file);
print("The file type is :");
if(S_ISREG(file.st_mode))
print("regular file.");
else if(S_ISREK(file.st_mode))
print("directory.");
else if(S_ISDIR(file.st_mode))
print("block special file.");
else if(S_ISLNK(file.st_mode))
print("symbolic link.");
else
print("other type file.");
printf("\nThe group permission is:");
if(file.st_mode & S_IRGRP)
print("read.");
if(file.st_mode & S_IWGRP)
print ("write.");
if(file.st_mode & S_IXGRP)
print ("execute.");
else
chmod("myfile",file.st_mode|S_IXGRP);
print("\nAdded execute permission.");
参考技术B 雷同的程序两者都按零分处理 参考技术C 有一本《Linux C函数大全》的小册子,Linux的API大多数都有,和MSDN有点相似,LZ看看这个。 参考技术D linux的环境你要是认识了 简单的编程是一样的 第5个回答 2009-04-21 退学吧……
以上是关于linux c语言编程的主要内容,如果未能解决你的问题,请参考以下文章