1. C语言读入函数
C语言调用对数函数log()函数:返回以e为底的对数值
头文件:
#include <math.h>
log() 函数返回以 e 为底的对数值,其原型为:
double log (double x);
log()用来计算以e为底的 x 的对数值,然后将结果返回。设返回值为 ret,则
x = eret
如果 x 为负数或 0,则会发生错误并设置 errno 值。错误代码:
EDOM:参数x 为负数;
ERANGE:参数x 为零值,零的对数值无定义。
2. C语言文件读写函数
函数原型定义:
ssize_t read[1] (int fd, void *buf, size_t count);
2/8
使用的头文件:
#include <unistd.h>
3/8
函数的返回值说明:
(1)如果成功,返回读取的字节数;
(2)如果出错,返回-1并设置errno;
(3)如果在调read函数之前已是文件末尾,则返回0
4/8
函数的参数【int fd】:
这个是文件指针
5/8
函数的参数【void *buf】:
读上来的数据保存在缓冲区buf中,同时文件的当前读写位置向后移
6/8
函数的参数【size_t count】:
是请求读取的字节数。若参数count 为0, 则read()不会有作用并返回0. 返回值为实际读取到的字节数, 如果返回0
7/8
函数的使用注意事项:
如果顺利 read()会返回实际读到的字节数, 最好能将返回值与参数count 作比较, 若返回的字节数比要求读取的字节数少, 则有可能读到了文件尾
8/8
read()函数使用的简单例子:#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>main(){ int fd, size; char s[] = "Linux Programmer!\n", buffer[80]; fd = open("/tmp/temp", O_WRONLY|O_CREAT); write(fd, s, sizeof(s)); close(fd); fd = open("/tmp/temp", O_RDONLY); size = read(fd, buffer, sizeof(buffer)); close(fd); printf("%s", buffer);}
3. c++文件读写函数
read函数(fread)。read函数负责从文件句柄中读取指定数量的字节,并将这些字节放在标量型变量中。读者如果熟悉C的标准I/O函数fread的话,就会发现read函数也是以相同方式处理I/O缓冲的。为了提高效率,read函数并不是一次读取一个字节,而是读取一块数据并保存到临时存储区中。
然后,C的fread函数与Perl的read函数会从临时缓冲区将数据一次一个字节地传送给程序。(sysread函数可用于模拟C的底层I/O函数read。)该函数会返回读取的字节总数;或者在发生错误时,返回未定义的数字。如果碰到了EOF(文件结束符),则返回0...
4. c语言读文件函数
C语言对文件进行读取之前需要先打开文件,然后再进行读写,读写完之后关闭文件。 可以使用两组函数实现:
一、C语言库函数 打开文件:fopen 读写(一般对应成对使用): fgetc---fputcfgets---fputsfread---fwrite 关闭文件:fclose
二、Linux系统函数 打开文件:open 读写(一般对应成对使用):read---write 关闭文件:close
5. C语言读入
c语言输入:例子:scanf(“%d”,&data1)
6. c语言读取函数
getchar: C标准库提供的输入输出模型,都是按照字符流的方式处理 getchar()是最简单的一次读一个字符的函数,每次调用时从文本流中读入下一个字符,并将其作为结果值返回。 但是,注意的是,返回值是int型!即:
因为,在没有输入或者输入字符有错的时候,getchar()函数将返回一个特殊值,这个特殊值与任何实际字符都不同,称为EOF(end of file,文件结束)。EOF是定义在头文件 是正确的! 当程序调用getchar()时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中)。 当用户键入回车之后,getchar()才开始从输入流中每次读入一个字符,getchar()函数的返回值是用户输入的第一个字符的ASCII码,如出错返回EOF。如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,,待后续getchar()调用读取。也就是说,后续的getchar()调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键。 getch与getchar的基本功能相同,不同就在于getch(所在头文件:conio.h)不等待回车,只要按下按键就会返回该键字符所对应的ASCII码。输入字符不回显。 Q:getchar()!=EOF的值? Q:EOF的值? 结果: getchar()!=EOF的值为1; EOF=-1; ctr-D:是一个特殊的二进制值,表示 EOF。 ct-Z:中断命令。 从缓冲区读走一个字符,相当于清除缓冲区 2.前面的scanf()在读取输入时会在缓冲区中留下一个字符'\n'(输入完s[i]的值后按回车键所致),所以如果不在此加一个getchar()把这个回车符取走的话,gets()就不会等待从键盘键入字符,而是会直接取走这个“无用的”回车符,从而导致读取有误 3. getchar()是在输入缓冲区顺序读入一个字符(包括空格、回车和Tab) getchar()使用不方便,解决方法: (1)使用下面的语句清除回车: (2)用getche()或getch()代替getchar(),其作用是从键盘读入一个字符(不用按回车),注意要包含头文件<conio.h>
7. c语言写入函数
冒泡法
void Bubble(int a[],int len)
{
int i,j,temp;
for(i = 0;i < len - 1;i++)
{
for(j = len - 1;j > i;j--)
if (a[j] < a[j - 1])
{
temp = a[j - 1];
a[j -1] = a[j];
a[j] = temp;
}
}
}
8. c语言文件读写操作函数
c语言中文件的使用方法
一.文件指针的定义
FILE *fp//注意FILE的大写
二.文件的打开
fp=fopen("(路径)文件名.文件格式后缀","文件的使用方法")//注意路径下为//而不是/
三.文件的使用方法
1.“r” 模式:
1.1 打开文件进行只读操作,即只能从文件读取内容。
1.2 若欲操作的文件不存在,则打开失败。
1.3 成功打开文件时,文件指针位于文件开头。
1.4 打开文件后,不会清空文件内原有内容。
1.5 可从文件中任意位置读取内容。
2."w" 模式:
2.1 打开文件进行“只写”操作,即只能向文件写入内容。
2.2 若欲操作的文件不存在,则新建文件。
2.3 成功打开文件时,文件指针位于文件开头。
2.4 打开文件后,会清空文件内原有的内容。
2.5 可向文件中任意位置写入内容,且进行写入操作时,会覆盖原有位置的内容。
3."a" 模式:
3.1 打开文件进行“追加”操作,即只能向文件写入内容。
3.2 若欲操作的文件不存在,则新建文件。
3.3 成功打开文件时,文件指针位于文件结尾。
3.4 打开文件后,不会清空文件内原有内容。
3.5 只能向文件末尾追加(写)内容。
4."r+"模式:
4.1 打开文件进行“读写”操作,即既可读取,又可写入。
4.2 若欲操作的文件不存在,则打开失败。
4.3 成功打开文件时,文件指针位于文件开头。
4.4 打开文件后,不会清空文件内原有内容。
4.5 无论是读取内容还是写入内容,都可在文件中任意位置进行,且进行写入操作时,会覆盖原有位置的内容。
5."w+"模式:
5.1 打开文件进行“读写”操作,即既可读取,又可写入。
5.2 若欲操作的文件不存在,则新建文件。
5.3 成功打开文件时,文件指针位于文件开头。
5.4 打开文件后,会清空文件内原有的内容。
5.5 无论是读取内容还是写入内容,都可在文件中任意位置进行,且进行写入操作时,会覆盖原有位置的内容。
6."a+"模式:
6.1 打开文件进行“读写”操作,即既可读取,又可写入。
6.2 若欲操作的文件不存在,则新建文件。
6.3 成功打开文件时,文件指针位于文件结尾。
6.4 打开文件后,不会清空文件内原有内容。
6.5 读取内容时,可以在任意位置进行,但写入内容时,只会追加在文件尾部。
三.文件处理函数
A.fgetc\fputc(字符)
fgetc意为从文件指针stream指向的文件中读取一个字符,读取一个字节后,光标位置后移一个字节。
fgetc格式:
ch=fgetc(FILE *stream)
fputc意为将字符ch写到文件指针fp所指向的文件的当前写指针的位置。
fputc格式:
fputc(char c, FILE *fp)
B.fgets\fputs(字符串)
fgets函数功能为从指定的流中读取数据,每次读取一行。从指定的流 stream 读取一行,并把它存储在 str 所指向的字符串内。当读取 (n-1) 个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。
fgets格式:
fgetc(char *str, int n, FILE *stream)
fputs是一个函数,具有的功能是向指定的文件写入一个字符串(不自动写入字符串结束标记符‘\0’)。成功写入一个字符串后,文件的位置指针会自动后移,函数返回值为非负整数;否则返回EOF(符号常量,其值为-1)。
fputs格式:
fputs(const char *str, FILE *stream)
返回值:该函数返回一个非负值,如果发生错误则返回 EOF(-1)。
(1)str:这是一个数组,包含了要写入的以空字符终止的字符序列。
(2)stream:指向 FILE 对象的指针,该 FILE 对象标识了要被写入字符串的流
C.数据块的读写
fread\fwrite
fread从给定输入流stream读取最多count个对象到数组buffer中(相当于以对每个对象调用count次fgetc),把buffer当作unsigned char数组并顺序保存结果。流的文件位置指示器前进读取的字节数。
若出现错误,则流的文件位置指示器的位置不确定。若没有完整地读入最后一个元素,则其值不确定。
fread格式:
fread( void *buffer, size_t size, size_t count, FILE *stream )
fwrite() 是 C 语言标准库中的一个文件处理函数,功能是向指定的文件中写入若干数据块,如成功执行则返回实际写入的数据块数目。该函数以二进制形式对文件进行操作,不局限于文本文件。
fwrite格式:
fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
返回值:返回实际写入的数据块数目
(1)buffer:是一个指针,对fwrite来说,是要获取数据的地址;
(2)size:要写入内容的单字节数;
(3)count:要进行写入size字节的数据项的个数;
(4)stream:目标文件指针;
(5)返回实际写入的数据项个数count。
D.fscanf\fprintf
fscanf 其功能为根据数据格式(format),从输入流(stream)中读入数据,存储到argument中,遇到空格和换行时结束。
fscanf格式:
fscanf(FILE * stream, const char * format, [argument...])
fprintf()函数根据指定的格式(format),向输出流(stream)写入数据(argument)。
fprintf格式:
fprintf (FILE* stream, const char*format, [argument])
stream-- 这是指向 FILE 对象的指针,该 FILE 对象标识了流。
format-- 这是 C 字符串,包含了要被写入到流 stream 中的文本。它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。
format 标签属性是%[flags][width][.precision][length]specifier
[argument]:附加参数列表
注意在格式中有读取长度的n时,系统会预留一个给’\0’,如果欲读取10个,则n在定义时,应该定义为10+1.
每一次文件引用结束后都要记得关闭打开了的文件
fclose(fp)//fp为定义的文件指针
9. c++读文件函数
首先给出C++语言中的头文件的定义:一般而言,每个C++/C程序通常由头文件和定义文件组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现。这里的set和find函数可以在头文件直接定义,即include<set>include<string>
10. c文件读写函数
用C语言从txt文件中读取数据,可以使用C标准库文件自带的文件接口函数进行操作。一、打开文件:FILE*fopen(constchar*filename,constchar*mode);因为txt文件为文本文件,所以打开时选择的mode应为"r"或者"rt"。
二、读取文件:读取文件应根据文件内容的格式,以及程序要求,选择读取文件的函数。可以使用一种,也可以几种混用。常用的文件读取函数如下:
1、fgetc,从文件中读取一个字节并返回。适用于逐个字节读取。
2、fgets,从文件中读取一行。适用于整行读取。
3、fscanf,格式化读取文件,在已经清楚文件存储格式下,可以直接用fscanf把文件数据读取到对应类型的变量中。
4、fread,整块读取文件,对于txt文件比较少用。
三、关闭文件:读取结束后,应调用fclose函数关闭文件。
11. c语言 读取
#include"stdio.h"intmain(){FILE*fp=NULL;intch;fp=fopen("D:\\sample.txt","r")
;//打开文件,需要注意的是,你必须把该文件放在D盘下,不然会报错while(1){ch=fgetc(fp)
;//if(ch==EOF)/*endoffile文件末尾*/break;printf("%c",ch);}//读取数据,直到文件末尾,读取一个数据就输出一个数据fclose(fp)
;//关闭文件return0;}调试无误。要把数据存到a[i],改下就行,inti=0,a[100];把上面的变量ch的值赋给数组就行a[i++]=ch;
- 相关评论
- 我要评论
-