c语言读取文件中的一条记录如何从文件中读取记录?

c语言读取文件中的一条记录如何从文件中读取记录?,第1张

这里的记录一般说的是结构体,即保存了一组信息。

将结构体写入文件可使用fwrite函数,原型:

size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream)参数含义:

(1)buffer:是一个指针,对fwrite来说,是要获取数据的地址;

(2)size:要写入内容的单字节数;

(3)count:要进行写入size字节的数据项的个数;

(4)stream:目标文件指针;

返回值:

实际写入的数据项个数count。

注:文件需用二进制写的方式打开,即:

fout = fopen("file address", "wb") 从文件中读取结构体信息,可使用fread函数,原型:

size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) 参数含义:

(1)buffer:用于接收数据的内存地址

(2)size:要读的每个数据项的字节数,单位是字节

(3)count:要读count个数据项,每个数据项size个字节.

(4)stream:输入流

返回值:

实际读取的元素个数。

注:文件需用二进制读的方式打开,即:

fin = fopen("file address", "rb") fwrite和fread都是单纯的写、读二进制数据,所以需要配合使用,以保证数据有效。用fwrite产生文件,之后配套的用fread来读取文件。

#include  <stdio.h>

exec sql include sqlca

int main(){

    exec sql begin declare section

        char userpasswd[30]="openlab/123456"

        struct{

            int  id

            char name[30]

            double salary

        }emp

    exec sql end   declare section

    exec sql connect:userpasswd

    exec sql declare empcursor cursor for 

        select id,first_name,salary  from 

        s_emp order by salary

    exec sql  open  empcursor

    exec sql  whenever notfound do break

    for(){

    exec sql  fetch empcursor into :emp

    printf("%d:%s:%lf\n",emp.id,emp.name,

                     emp.salary)

    }

    exec sql  close empcursor

    exec sql commit work release    

}

把数据存到结构体里。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存