大家好,欢迎来到IT知识分享网。
怎样用lseek读取最后三个字节
lseek(fd, -3, SEEK_END);
read(xxx
如何使用libcurl实现HTTP的GET方法获取文件长度
用libcurl实现下载功能很方便,只要调用libcurl库即可。
long downloadFileLenth = 0;
1
2
3
4
5
6
7
8
9
10
11
12
CURL *handle = curl_easy_init();
curl_easy_setopt(handle, CURLOPT_URL, url);
curl_easy_setopt(handle, CURLOPT_CUSTOMREQUEST, “GET”); //使用CURLOPT_CUSTOMREQUEST
curl_easy_setopt(handle, CURLOPT_NOBODY, 1); //不需求body
if (curl_easy_perform(handle) == CURLE_OK)
{
curl_easy_getinfo(handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &downloadFileLenth);
}
else {
downloadFileLenth = -1;
}
curl_easy_cleanup(handle);
可以完美解决用GET获取文件长度,而不下载文件内容。
怎样用lseek()函数将一个文件的内容附加到另一个文件上?
int main()
{
int iSrcFd = 0;
int iDesFd = 0;
CHAR acReadBuf[128] = {0};
int iReadBytes = 0;
int iWrtBytes = 0;
/* open the source file*/
iSrcFd = open(“1.txt”,O_RDWR | O_SYNC);
if (iSrcFd < 0)
{
return -1;
}
iReadBytes = read(iSrcFd, acReadBuf, 128);
/* open the des file */
iDesFd = open(“2.txt”,O_RDWR | O_SYNC);
if (iSrcFd < 0)
{
close(iSrcFd);
return -1;
}
lseek(iDesFd, 0, SEEK_END);
iWrtBytes = write(iDesFd, acReadBuf, 128);
close(iDesFd);
close(iSrcFd);
return 0;
}
lseek(iDesFd, 0, SEEK_END);就是将当前文件读写的位置移动到文件末尾
linux lseek函数怎么用
Linux的lseek函数用来控制一个打开的文件的读写位置,它的函数原型如下:
off_t lseek(int fildes,off_t offset ,int whence);
参数的用法:fildes参数为一个已打开的文件描述符;参数offset为读写位置的位移数,这个位移数是根据参数whence来确定的;whence参数分为下列三种:
SEEK_SET:表示offset用来直接设置读写位置。
SEEK_CUR:表示以目前的读写位置往后增加offset个位移量。
SEEK_END:表示将读写位置指向文件尾后再增加offset个位移量。
当whence值为SEEK_CUR或SEEK_END时,参数offet允许负值出现。当lseek调用成功时返回目前的读写位置,也就是距离文件开头多少个字节。若有错误则返回-1,errno会存放错误代码。下面是几个使用示例:
将读写位置移到文件开头:lseek(myfile, 0, SEEK_SET);
将读写位置移到文件尾:lseek(myfile, 0, SEEK_END);
想要取得目前文件位置:off_t cur=lseek(myfile, 0, SEEK_CUR);
注意:使用lseek函数需要包含以下头文件:
#include
#include
为什么C语言中read函数和write函数间要用lseek来调整读取顺序
-由于程序在打开文件时文件操作指针位于文件起始位置,即偏移量0
-读取了1个字符的内容给变量c,文件指针偏移量为1
-这时如果想将c值写到文件开始位置,则需要移动文件指针到文件开始
-于是lseek就是移动文件当前指针的语句,它通知系统将文件指针移动到从文件开始位置(SEEK_SER)起的第0字节
-这个程序比较奇怪,明明打开文件时选用了0_WRONLY参数,表明这个打开是只写的,但上来就读
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/20661.html