linux c语言编程
一.编写一个C语言程序,用open函数在当前目录下创建一个文件test.txt,然后将数字1~100按顺序写入文件,之后分别读出第50(从文件开始处计算)、第100个字节...
一.编写一个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等文件系统调用的功能。 展开
要求:.
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等文件系统调用的功能。 展开
7个回答
展开全部
那么牛的程序,不像是学校的考试题。
起码是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");
}
这是第一题.
起码是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");
}
这是第一题.
展开全部
我贴个第二题的吧。
#/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.");
}
}
#/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.");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
雷同的程序两者都按零分处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有一本《Linux C函数大全》的小册子,Linux的API大多数都有,和MSDN有点相似,LZ看看这个。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
linux的环境你要是认识了 简单的编程是一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-04-21
展开全部
退学吧……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询