c怎样在文件中插入数据

c怎样在文件中插入数据,第1张

1、可以使用fseek()来指定文件位置

函数原型: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值。

2、例程:向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

}

通过一个简单的示例进行讲解(此示例用文本文件进行演示):

#include <stdio.h>

#include <stdlib.h>

#include <errno.h>

#define FILE_NAME "demo.txt" // 文件名称

int main()

{

FILE* fp = NULL// 文件指针

char* szAppendStr = "Text"

errno_t eResult

// 以附加方式打开可读/写的文件, 如果没有此文件则会进行创建,然后以附加方式打开可读/写的文件

eResult = fopen_s(&fp, FILE_NAME, "a+")

// 打开文件失败

if (eResult != 0)

exit(-1)

// 将追加内容写入文件指针当前的位置

fputs(szAppendStr, fp)

// 最后不要忘了,关闭打开的文件~~~

fclose(fp)

return 0

}

扩展资料

文件的打开和关闭

open()函数的作用是打开文件,其调用格式为: int open(char *filename, int access)该函数表示按access的要求打开名为filename的文件,返回值为文件描述字,其中access有两部分内容: 基本模式和修饰符, 两者用" "("或")方式连接。修饰符可以有多个, 但基本模式只能有一个。

open()函数打开成功, 返回值就是文件描述字的值(非负值), 否则返回-1。 close()函数的作用是关闭由open()函数打开的文件, 其调用格式为: int close(int handle)该函数关闭文件描述字handle相连的文件。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6775168.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存