函数原型:int fseek(FILE *stream, long offset, int fromwhere)
函数说明:函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere(偏移起始位置:文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。
返回值:如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置,函数返回一个非0值。
示例:向test.txt的末尾添加“this is a text"的字符串。
#include <stdio.h>#include <string.h>
int main()
{
const char * szwrite = " this is a text"
FILE *fp = fopen("test.txt", "a+")
if (fp==0) {
printf("can't open file\n")
return 0
}
fseek(fp, 0,SEEK_END)
fwrite(szwrite, strlen(szwrite) * sizeof(char), 1, fp)
fclose(fp)
return 0
}
* 拷贝文件,* @param oldPath 旧文件路径
* @param newPath 新文件路径
* @throws Exception
*/
private void copyFile(String oldPath, String newPath) throws Exception{
int bytesum = 0
int byteread = 0
File oldFile = new File(oldPath)
InputStream in = null
OutputStream out = null
if(oldFile.exists()){
try {
in = new FileInputStream(oldPath)
out = new FileOutputStream(newPath)
byte[] buffer = new byte[1024*5]
while((byteread = in.read(buffer)) != -1){
bytesum += byteread
System.out.println(bytesum)
out.write(buffer, 0, byteread)
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace()
throw new Exception("输入myeclipse的路径不正确")
}finally{
if(in != null)
in.close()
if(out != null)
out.close()
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)