【Unix编程】文件处理函数

2023-05-16

文件处理函数:http://www.iteedu.com/os/linux/linuxprgm/linuxcfunctions/file/fcntl.php
1)close(关闭文件)
相关函数 open,fcntl,shutdown,unlink,fclose
表头文件 #include<unistd.h>
定义函数 若用完文件之后, 不再需要则可使用close()关闭该文件。close()会让数据写回磁盘, 并释放该文件所占用的
 资源。参数fd为先前由open()或creat()所返回的文件描述词。返回值 若文件顺利关闭则返回0, 发生错误则
 返回-1。错误代码EBADF参数fd非有效的文件描述词或该文件已关闭。
函数说明 虽然在进程结束时, 系统会自动关闭已打开的文件, 但仍建议自行关闭文件,并确实检查返回值。



2)creat(建立文件)
相关函数 read,write,fcntl,close,link,stat,umask,unlink,fopen
表头文件 #include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
定义函数 int creat(const char *pathname, mode_t mode);
函数说明 参数pathname指向欲建立的文件路径字符串,creat()相当于使用下列的调用方式调用open()
open(const char * pathname ,(O_CREAT|O_WRONLY|O_TRUNC));
错误代码 关于参数mode请参考open()函数。
返回值 creat()会返回新的文件描述词,若有错误发生则会返回-1,并把错
误代码设给errno。
EEXIST 参数pathname所指的文件已存在。
EACCESS 参数pathname 所指定的文件不符合所要求测试的权限
EROFS 欲打开写入权限的文件存在于只读文件系统内
EFAULT 参数pathname 指针超出可存取的内存空间
EINVAL 参数mode 不正确。
ENAMETOOLONG 参数pathname太长。
ENOTDIR 参数pathname为一目录
ENOMEM 核心内存不足
ELOOP 参数pathname有过多符号连接问题。
EMFILE 已达到进程可同时打开的文件数上限
ENFILE 已达到系统可同时打开的文件数上限
附加说明 creat()无法建立特别的装置文件,如果需要请使用mknod()。


3)dup(复制文件描述符)
相关函数  open,close,fcntl,dup2
表头文件  #include<unistd.h>
定义函数  int dup (int oldfd);
函数说明 dup()用来复制参数oldfd所指的文件描述词,并将它返回。此新的
文件描述词和参数oldfd指的是同一个文件,共享所有的锁定、读写
位置和各项权限或旗标。例如,当利用lseek()对某个文件描述词作
用时,另一个文件描述词的读写位置也会随着改变。不过,文件描
述词之间并不共享close-on-exec旗标。
返回值 当复制成功时,则返回最小及尚未使用的文件描述词。若有错误则
返回-1,errno会存放错误代码。错误代码EBADF参数fd非有效的文
件描述词,或该文件已关闭。


4)dup2(复制文件描述符)
相关函数 open, close,fcntl,dup
表头文件 #include<unistd.h>
定义函数 int dup2(int oldfd, int newfd);
函数说明 up2()用来复制参数oldfd所指的文件描述词,并将它拷贝至参数
newfd后一块返回。若参数newfd为一已打开的文件描述词,则newfd
所指的文件会先被关闭。dup2()所复制的文件描述词,与原来的文
件描述词共享各种文件状态,详情可参考dup()。
返回值 当复制成功时,则返回最小及尚未使用的文件描述词。若有错误则
返回-1,errno会存放错误代码。
附加说明 dup2()相当于调用fcntl(oldfd,F_DUPFD,newfd);请参考fcntl
()。
错误代码 EBADF 参数fd 非有效的文件描述词,或该文件已关闭


5)fcntl(文件描述符操作)
相关函数 open, flock
表头文件 #include <unistd.h>
定义函数   int fcntl(int fd , int cmd);
int fcntl(int fd,int cmd,long arg);
int fcntl(int fd,int cmd,struct flock * lock);
函数说明 fcntl()用来操作文件描述词的一些特性。参数fd代表欲设置的文件
描述词,参数cmd代表欲操作的指令。
有以下几种情况:
F_DUPFD用来查找大于或等于参数arg的最小且仍未使用的文件描述
词,并且复制参数fd的文件描述词。执行成功则返回新复制的文件
描述词。请参考dup2()。F_GETFD取得close-on-exec旗标。若此旗
标的FD_CLOEXEC位为0,代表在调用exec()相关函数时文件将不会关
闭。
F_SETFD 设置close-on-exec 旗标。该旗标以参数arg 的
FD_CLOEXEC位决定。
F_GETFL 取得文件描述词状态旗标,此旗标为open()的参数
flags。
F_SETFL 设置文件描述词状态旗标,参数arg为新旗标,但只允许
O_APPEND、O_NONBLOCK和O_ASYNC位的改变,其他位的改变将不受影
响。
F_GETLK 取得文件锁定的状态。
F_SETLK 设置文件锁定的状态。此时flcok 结构的l_type 值必须是
F_RDLCK、F_WRLCK或F_UNLCK。如果无法建立锁定,则返回-1,错误
代码为EACCES 或EAGAIN。
F_SETLKW F_SETLK 作用相同,但是无法建立锁定时,此调用会一直
等到锁定动作成功为止。若在等待锁定的过程中被信号中断时,会
立即返回-1,错误代码为EINTR。参数lock指针为flock 结构指针,
定义如下
struct flcok
{
short int l_type; /* 锁定的状态*/
short int l_whence;/*决定l_start位置*/
off_t l_start; /*锁定区域的开头位置*/
off_t l_len; /*锁定区域的大小*/
pid_t l_pid; /*锁定动作的进程*/
};
l_type 有三种状态:
F_RDLCK 建立一个供读取用的锁定
F_WRLCK 建立一个供写入用的锁定
F_UNLCK 删除之前建立的锁定
l_whence 也有三种方式:
SEEK_SET 以文件开头为锁定的起始位置。
SEEK_CUR 以目前文件读写位置为锁定的起始位置
SEEK_END 以文件结尾为锁定的起始位置。
返回值 成功则返回0,若有错误则返回-1,错误原因存于errno. 


6)flock(锁定文件或解除锁定)
相关函数  open,fcntl
表头文件  #include<sys/file.h>
定义函数  int flock(int fd,int operation);
函数说明   flock()会依参数operation所指定的方式对参数fd所指的文件做各
种锁定或解除锁定的动作。此函数只能锁定整个文件,无法锁定文
件的某一区域。
参数 operation有下列四种情况:
LOCK_SH 建立共享锁定。多个进程可同时对同一个文件作共享锁
定。
LOCK_EX 建立互斥锁定。一个文件同时只有一个互斥锁定。
LOCK_UN 解除文件锁定状态。
LOCK_NB 无法建立锁定时,此操作可不被阻断,马上返回进程。通
常与LOCK_SH或LOCK_EX 做OR(|)组合。
单一文件无法同时建立共享锁定和互斥锁定,而当使用dup()或fork
()时文件描述词不会继承此种锁定。
返回值 返回0表示成功,若有错误则返回-1,错误代码存于errno。

7)fsync(将缓冲区数据写回磁盘)
相关函数 sync
表头文件 #include<unistd.h>
定义函数 int fsync(int fd)
函数说明 fsync()负责将参数fd所指的文件数据,由系统缓冲区写回磁盘,以
确保数据同步。
返回值 成功则返回0,失败返回-1,errno为错误代码。

8)lseek(移动文件的读写位置)
相关函数 dup, open, fseek
表头文件 #include<sys/types.h>
定义函数 off_t lseek(int fildes,off_t offset ,int whence);
函数说明   每一个已打开的文件都有一个读写位置,当打开文件时通常其读写
位置是指向文件开头,若是以附加的方式打开文件(如O_APPEND),
则读写位置会指向文件尾。当read()或write()时,读写位置会随之
增加,lseek()便是用来控制该文件的读写位置。参数fildes 为已
打开的文件描述词,参数offset 为根据参数whence来移动读写位置
的位移数。
参数 whence为下列其中一种:
SEEK_SET 参数offset即为新的读写位置。
SEEK_CUR 以目前的读写位置往后增加offset个位移量。
SEEK_END 将读写位置指向文件尾后再增加offset个位移量。
当whence 值为SEEK_CUR 或SEEK_END时,参数offet允许负值的出
现。
下列是较特别的使用方式:
1) 欲将读写位置移到文件开头时:lseek(int
fildes,0,SEEK_SET);
2) 欲将读写位置移到文件尾时:lseek(int fildes,
0,SEEK_END);
3) 想要取得目前文件位置时:lseek(int fildes,0,SEEK_CUR);
返回值 当调用成功时则返回目前的读写位置,也就是距离文件开头多少个
字节。若有错误则返回-1,errno 会存放错误代码。
附加说明 Linux系统不允许lseek()对tty装置作用,此项动作会令lseek
()返回ESPIPE。
 


9)mkstemp(建立唯一的临时文件)
相关函数 mktemp
表头文件  #include<stdlib.h>
定义函数 int mkstemp(char * template);
函数说明 mkstemp()用来建立唯一的临时文件。参数template 所指的文件名
称字符串中最后六个字符必须是XXXXXX。mkstemp()会以可读写模式
和0600 权限来打开该文件,如果该文件不存在则会建立该文件。打
开该文件后其文件描述词会返回。文件顺利打开后返回可读写的文
件描述词。如果文件打开失败则返回NULL,并把错误代码存在errno
中。错误代码 EINVAL 参数template 字符串最后六个字符非XXXXXX。
EEXIST 无法建立临时文件。附加说明 参数template所指的文件名称
字符串必须声明为数组,如:char template[ ] =”template-XXXXXX”;
千万不可以使用下列的表达方式char *template = “template-XXXXXX”;
 

10)open(打开文件)
相关函数 read,write,fcntl,close,link,stat,umask,unlink,fopen
表头文件 #include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
定义函数 int open( const char * pathname, int flags);
int open( const char * pathname,int flags, mode_t mode);
函数说明 参数pathname 指向欲打开的文件路径字符串。下列是参数flags 所能使用的旗标:
O_RDONLY 以只读方式打开文件
O_WRONLY 以只写方式打开文件
O_RDWR 以可读写方式打开文件。上述三种旗标是互斥的,也就是不
可同时使用,但可与下列的旗标利用OR(|)运算符组合。
O_CREAT 若欲打开的文件不存在则自动建立该文件。
O_EXCL 如果O_CREAT 也被设置,此指令会去检查文件是否存在。文
件若不存在则建立该文件,否则将导致打开文件错误。此外,若
O_CREAT与O_EXCL同时设置,并且欲打开的文件为符号连接,则会打
开文件失败。
O_NOCTTY 如果欲打开的文件为终端机设备时,则不会将该终端机当
成进程控制终端机。
O_TRUNC 若文件存在并且以可写的方式打开时,此旗标会令文件长
度清为0,而原来存于该文件的资料也会消失。
O_APPEND 当读写文件时会从文件尾开始移动,也就是所写入的数据
会以附加的方式加入到文件后面。
O_NONBLOCK 以不可阻断的方式打开文件,也就是无论有无数据读取
或等待,都会立即返回进程之中。
O_NDELAY 同O_NONBLOCK。
O_SYNC 以同步的方式打开文件。
O_NOFOLLOW 如果参数pathname 所指的文件为一符号连接,则会令
打开文件失败。
O_DIRECTORY 如果参数pathname 所指的文件并非为一目录,则会令
打开文件失败。
此为Linux2.2以后特有的旗标,以避免一些系统安全问题。参数
mode 则有下列数种组合,只有在建立新文件时才会生效,此外真正
建文件时的权限会受到umask值所影响,因此该文件权限应该为
(mode-umaks)。
S_IRWXU00700 权限,代表该文件所有者具有可读、可写及可执行的
权限。
S_IRUSR 或S_IREAD,00400权限,代表该文件所有者具有可读取的
权限。
S_IWUSR 或S_IWRITE,00200 权限,代表该文件所有者具有可写入
的权限。
S_IXUSR 或S_IEXEC,00100 权限,代表该文件所有者具有可执行的
权限。
S_IRWXG 00070权限,代表该文件用户组具有可读、可写及可执行的
权限。
S_IRGRP 00040 权限,代表该文件用户组具有可读的权限。
S_IWGRP 00020权限,代表该文件用户组具有可写入的权限。
S_IXGRP 00010 权限,代表该文件用户组具有可执行的权限。
S_IRWXO 00007权限,代表其他用户具有可读、可写及可执行的权
限。
S_IROTH 00004 权限,代表其他用户具有可读的权限
S_IWOTH 00002权限,代表其他用户具有可写入的权限。
S_IXOTH 00001 权限,代表其他用户具有可执行的权限。
返回值 若所有欲核查的权限都通过了检查则返回0 值,表示成功,只要有
一个权限被禁止则返回-1。
错误代码 EEXIST 参数pathname 所指的文件已存在,却使用了O_CREAT和
O_EXCL旗标。
EACCESS 参数pathname所指的文件不符合所要求测试的权限。
EROFS 欲测试写入权限的文件存在于只读文件系统内。
EFAULT 参数pathname指针超出可存取内存空间。
EINVAL 参数mode 不正确。
ENAMETOOLONG 参数pathname太长。
ENOTDIR 参数pathname不是目录。
ENOMEM 核心内存不足。
ELOOP 参数pathname有过多符号连接问题。
EIO I/O 存取错误。
附加说明 使用access()作用户认证方面的判断要特别小心,例如在access()
后再作open()空文件可能会造成系统安全上的问题。

11)read(由已打开的文件读取数据)
相关函数 readdir,write,fcntl,close,lseek,readlink,fread
表头文件  #include<unistd.h>
定义函数 ssize_t read(int fd,void * buf ,size_t count);
函数说明 read()会把参数fd 所指的文件传送count个字节到buf指针所指的内
存中。若参数count为0,则read()不会有作用并返回0。返回值为实
际读取到的字节数,如果返回0,表示已到达文件尾或是无可读取的
数据,此外文件读写位置会随读取到的字节移动。
附加说明 如果顺利read()会返回实际读到的字节数,最好能将返回值与参数
count 作比较,若返回的字节数比要求读取的字节数少,则有可能
读到了文件尾、从管道(pipe)或终端机读取,或者是read()被信号
中断了读取动作。当有错误发生时则返回-1,错误代码存入errno
中,而文件读写位置则无法预期。
错误代码 EINTR 此调用被信号所中断。
EAGAIN 当使用不可阻断I/O 时(O_NONBLOCK),若无数据可读取则
返回此值。
EBADF 参数fd 非有效的文件描述词,或该文件已关闭。

12)sync(将缓冲区数据写回磁盘)
相关函数 fsync
表头文件 #include<unistd.h>
定义函数 int sync(void)
函数说明 sync()负责将系统缓冲区数据写回磁盘,以确保数据同步。返回值 返回0。

13)write(将数据写入已打开的文件内)
相关函数  open,read,fcntl,close,lseek,sync,fsync,fwrite
表头文件 #include<unistd.h>
定义函数 ssize_t write (int fd,const void * buf,size_t count);
函数说明 write()会把参数buf所指的内存写入count个字节到参数fd所指的文
件内。当然,文件读写位置也会随之移动。
返回值 如果顺利write()会返回实际写入的字节数。当有错误发生时则返
回-1,错误代码存入errno中。错误代码 EINTR 此调用被信号所中断。
EAGAIN 当使用不可阻断I/O 时(O_NONBLOCK),若无数据可读取则
返回此值。
EADF 参数fd非有效的文件描述词,或该文件已关闭。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Unix编程】文件处理函数 的相关文章

  • 如何将文件中的值分配给 UNIX sh shell 中的变量?

    我一直在搜索这个网站 试图找到这个问题的答案 并发现了几个非常好的答案 不幸的是 它们都不适合我 这是我正在使用的脚本 VALUE cat szpfxct tmp export VALUE echo gt gt LGFILE echo te
  • Supervisorctl 错误:unix:///var/run/supervisord.sock 拒绝连接? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这是我的配置文件 我运行supervisord c etc supervisor supervisord conf效果很好 当我尝试跑步时
  • 如何用 C 语言练习 Unix 编程?

    经过五年的专业 Java 以及较小程度上的 Python 编程并慢慢感觉到我的计算机科学教育逐渐消失 我决定要拓宽我的视野 对世界的一般用处 并做一些 对我来说 感觉更重要的事情就像我真的对机器有影响一样 我选择学习 C 和 Unix 编程
  • 类unix系统中的python和python3命令有什么区别?

    我通读了每个命令的描述 但每个命令的描述都是完全相同的 所以我不明白这两个命令在类 Unix 系统中的工作方式有何不同 谁能解释其中的区别吗 Python3命令的引入是因为python命令指向了python2 从那时起 Python3 已成
  • 在 Unix 中添加用户和组

    有谁知道在unix中添加用户和组以及删除它们的api吗 我想以编程方式执行此操作 谢谢 坦率 我开始查看一些系统调用并发现以下内容 请注意 它们具有不同的标准 因此并非所有标准都可以在您的 Unix 版本上运行 getpwent setpw
  • sleep 0 有特殊含义吗?

    我看到很多用法sleep 0在我的一个客户项目中 代码看起来像这样 while true sleep 0 end 阅读一些像这样的答案this https stackoverflow com questions 3727420 signif
  • 使用 sigaction(),c

    我正在读一些关于sigaction 来源来自我的课程笔记 我不确定我是否理解这段文字 信号掩码仅在以下持续时间内计算和安装 信号处理程序 默认情况下 信号 sig 发生时也会被阻塞 使用 sigaction 为特定信号安装操作后 它会保持安
  • 为什么总是./configure;制作;进行安装;作为 3 个单独的步骤?

    每次从源代码编译某些内容时 都会经历相同的 3 个步骤 configure make make install 我明白 将安装过程分为不同的步骤是有意义的 但我不明白 为什么这个星球上的每个编码员都必须一次又一次地编写相同的三个命令才能完成
  • 如何使用 UNIX shell 计算字母在文本文件中出现的次数?

    我有几个文本文件 我想计算每个字母在每个文件中出现的次数 具体来说 我想使用 UNIX shell 来执行此操作 形式为 cat file 做东西 有没有办法让 wc 命令来执行此操作 grep char o filename wc l
  • Python 中的 Unix cat 函数 (cat * > merged.txt)? [复制]

    这个问题在这里已经有答案了 一旦建立了目录 有没有办法在Python中使用Unix中的cat函数或类似的函数 我想将 files 1 3 合并到 merged txt 我通常会在 Unix 中找到该目录 然后运行 cat gt merged
  • 如何执行“sudo nvm”?

    在我的 Mac 上 我想将一些需要 su 权限的包迁移到另一个节点版本 我使用 homebrew 安装 nvm 现在我需要执行 sudo nvm 或 reinstall packages将失败 me MacBook sudo nvm sud
  • 如何查看正在运行的 tcsh 版本?

    如何查看我的 UNIX 终端中运行的 tcsh 的当前版本 看着那 这version多变的 echo version tcsh 6 14 00 Astron 2005 03 25 i386 intel linux options wide
  • 使用 Grep 查找两个短语之间的文本块(包括短语)

    是否可以使用 grep 来高亮所有以以下内容开头的文本 mutablePath CGPathCreateMutable 并以以下内容结尾 CGPathAddPath skinMutablePath NULL mutablePath 这两个短
  • 第二次ftruncate失败

    我试图在首次成功执行 shm open 和 ftruncate 后超出共享内存对象 这是代码 char uuid GenerateUUID int fd shm open uuid O RDWR O CREAT O EXCL S IRUSR
  • 在 unix 中编译 dhrystone 时出错

    我是使用基准测试和 makefile 的新手 我已经从下面的链接下载了 Dhrystone 基准测试 我正在尝试编译它 但我遇到了奇怪的错误 我尝试解决它 但没有成功 有人可以帮助我运行 dhrystone 基准测试吗 以下是我尝试编译的两
  • C# 中的 Unix 套接字

    我正在尝试使用 Mono 的 UnixEndPoint 但在使用它之前就失败了 我在 64 位 Windows 7 系统上运行 Xamarind net 4 5 下面是一些代码 证明单一组合不起作用 foreach SocketType s
  • 检查 Unix 消息队列是否为空

    谁能告诉我如何检查消息队列中是否有消息 消息队列是在基于Linux的操作系统中用C语言实现的 我只是想检查在特定时间消息队列中是否有消息 只需使用以下命令即可检查消息数量 如果有 msgctl 函数 并在返回时检查 msqid ds 结构
  • 如何在gnuplot中将字符串转换为数字

    有没有办法将表示数字 以科学格式 的字符串转换为 gnuplot 中的数字 IE stringnumber 1 0e0 number myconvert stringnumber plot 1 1 number 我可能使用 shell 命令
  • Windows 相当于 Unix find 命令,用于搜索多种文件类型

    虽然在 Windows 中安装了 cygwin 可以提供大部分 unix 命令 但我仍然想知道如何使用 Windows find 命令在一个命令中搜索多个文件类型 ie find name cpp o name h o name java
  • 如何回忆上一个 bash 命令的参数?

    Bash 有没有办法回忆上一个命令的参数 我通常这样做vi file c其次是gcc file c Bash 有没有办法回忆上一个命令的参数 您可以使用 or 调用上一个命令的最后一个参数 Also Alt can be used to r

随机推荐

  • JS 异步 ( 一、异步概念、Web worker 基本使用 )

    相关阅读 xff1a JS 异步 一 异步概念 Web worker 基本使用 JS 异步 二 Promise 的用法 手写模拟 Promise JS 异步 三 generator 的用法 async await 的用法 文章目录 异步异步
  • eve-ng 自定义linux镜像

    文章目录 1 创建目录2 上传镜像并改名3 创建虚拟磁盘qcow24 登录eve网页5 查找lab UUID和虚拟机编号6 将系统提交成模板7 压缩镜像 xff08 可选 xff09 1 创建目录 root 64 eve ng opt un
  • 百度地图Marker的定位和方向

    原文 xff1a http bbs lbsyun baidu com forum php mod 61 viewthread amp tid 61 83704 今天做百度地图需要在显示很多车辆的位置信息 并显示车辆的角度和行驶方向 需要用到
  • ELFhash - 优秀的字符串哈希算法

    1 字符串哈希 xff1a 我们先从字符串哈希说起 在很多的情况下 xff0c 我们有可能会获得大量的字符串 xff0c 每个字符串有可能重复也有可能不重复 C不像Python有字典类型的数据结构 xff0c 我们没有办法吧字符串当做是键值
  • 详解TensorFlow数据读取机制(附代码)

    在学习TensorFlow的过程中 xff0c 有很多小伙伴反映读取数据这一块很难理解 确实这一块官方的教程比较简略 xff0c 网上也找不到什么合适的学习材料 今天这篇文章就以图片的形式 xff0c 用最简单的语言 xff0c 为大家详细
  • Linux下安装boa服务器遇到的问题

    最近在CentOS7机器上安装boa服务器的时候 xff0c 遇到了不少问题 xff0c 在这里记录一下 1 从官网下载最新 boa源码包 xff0c 网址 xff1a http www boa org xff1b 2 解压 xff0c 进
  • 【linux】查看Linux系统版本信息的几种方法

    一 查看Linux内核版本命令 xff08 两种方法 xff09 xff1a 1 cat proc version 2 uname a 二 查看Linux系统版本的命令 xff08 3种方法 xff09 xff1a 1 lsb releas
  • 如何使用Python为Hadoop编写一个简单的MapReduce程序

    转载自 xff1a http asfr blogbus com logs 44208067 html 在这个实例中 xff0c 我将会向大家介绍如何使用Python 为 Hadoop编写一个简单的 MapReduce 程序 尽管 Hadoo
  • Android Gradle 7.x新版本的依赖结构变化

    版本的小蜜蜂 小海豚 电鳗版本的Android Studio新建工程的依赖结构和之前的发生了变化 xff0c 主要有 xff1a 原来在工程build gradle中的buildscript和allprojects xff0c 移动至set
  • C#:如何用VS开启人生中第一个Windows窗体应用程序(Winform)?

    摘要 xff1a Windows窗体应用程序 xff08 Winform xff0c 下文以此指代 xff09 既能有效 直观地设计Windows窗体界面 xff0c 又支持内部逻辑的编写 那么 xff0c 对于C 初学者来说 xff0c
  • BootLoader & Grub详解

    BootLoader amp Grub详解 xff08 补记 xff09 2008 8 2 星期日 凉爽 补记 xff1a 2010 xff0d 04 xff0d 21 时隔两年 xff0c 会过头来重新看了一下 xff0c 发现GRUB的
  • 签名问题:EXPKEYSIG F42ED6FBAB17C654 Open Robotics <info@osrfoundation.org>

    sudo apt key adv keyserver keyserver ubuntu com recv keys F42ED6FBAB17C654 代码如上 xff0c 更换签名
  • Python,gnuplot,libsvm配置详细步骤

    1 下载Python xff0c gnuplot以及libsvm 我的电脑是64位 xff0c Win7操作系统 1 1 python 2 7 6 64位 这里我用的Python是64位的Python2 7 6 下载地址 xff1a htt
  • C++中assert函数的用法介绍

    assert宏的原型定义在 lt assert h gt 中 xff0c 其作用是如果它的条件返回错误 xff0c 则终止程序执行 xff0c 原型定义 xff1a inclide lt assert h gt void assert in
  • C++中stdlib.h头文件介绍

    stdlib头文件即standard library标准库头文件 xff0c stdlib头文件里包含了C C 43 43 语言的最常用的系统函数 xff0c 该文件包含了C语言标准库函数的定义 xff0c stdlib h中定义了物种类型
  • 蛋白质性质和结构分析

    原文链接 第七章 蛋白质性质和结构分析 传统的生物学认为 xff0c 蛋白质的序列决定了它的三维结构 xff0c 也就决定了它的功能 由于用X光晶体衍射和NMR核磁共振技术测定蛋白质的三维结构 xff0c 以及用生化方法研究蛋白质的功能效率
  • Libsvm网格参数寻优教程

    原文 xff1a http endual iteye com blog 1262010 首先下载Libsvm Python和Gnuplot xff1a l libsvm的主页http www csie ntu edu tw cjlin li
  • 打井问题

    在偏远的山区 xff0c 水资源很稀缺 xff0c 因此 xff0c 我们问每个山区进行打井工程 xff0c 在不同的地方打了N口井 xff0c 现在我们要在这N口井之间修建管道 xff0c 要使得这些井都能连通 xff0c 同时所使用的管
  • C语言结构体的初始化

    C primer Plus第五版 第14章结构和其他数据形式 1 结构声明 结构声明 xff08 structure declaration xff09 是描述结构体如何组合的主要方法 xff0c 声明就像下面这样 xff1a struct
  • 【Unix编程】文件处理函数

    文件处理函数 xff1a http www iteedu com os linux linuxprgm linuxcfunctions file fcntl php 1 close xff08 关闭文件 xff09 相关函数 open xf