c语言查找单条记录函数 c语言折中查找

C语言查找函数

首先,指针默认只有一个地址的长度的空间,存不了那么多的字符。

创新互联公司长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为蒲江县企业提供专业的成都网站制作、成都做网站,蒲江县网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

其次,传值和传地址一塌糊涂,完全就是乱写么。

scanf的第二个参数是地址,如果本身不是指针则需要取址符。

我给你重写了算了

#includestdio.h

int Retrieve(int array[],int length,int x);/*形参x直接传值就可以了*/

int main()

{

int *a,x;

int length,i;

scanf("%d",length);

a = (int)malloc(sizeof(int)*length); /*申请一个内存空间用来存放数据,或者直接用一个大数组也可以*/

C语言:在当前目录下的文件中查找记录并输出到屏幕,咋编?

代码文本:

#include "stdio.h"

#include string.h

struct STU{

char nm[21],id[12];

int s[5];

};

int main(int argc,char *argv[]){

struct STU stu;

char ts[21];

FILE *fp;

if(fp=fopen("stu.dat","r")){

printf("Please enter a name or ID...\n");

scanf("%20s",ts);

printf("\nTo find the result is:\n");

while(fscanf(fp,"%s%s%d%d%d%d%d",stu.nm,stu.id,stu.s,stu.s+1,stu.s+2,stu.s+3,stu.s+4)!=EOF)

if(strcmp(ts,stu.nm)==0 || strcmp(ts,stu.id)==0){

printf(" %s\t%s%4d%4d%4d%4d%4d\n",stu.nm,stu.id,stu.s[0],stu.s[1],stu.s[2],stu.s[3],stu.s[4]);

fclose(fp);

return 0;

}

printf("Not find...\n");

fclose(fp);

}

else

printf("Open the file failure, exit...\n");

return 0;

}

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

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

将结构体写入文件可使用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来读取文件。


网站栏目:c语言查找单条记录函数 c语言折中查找
文章来源:http://myzitong.com/article/ddoeogj.html