大家好,又见面了,我是你们的朋友全栈君。...函数介绍 pow(x,y) ——求x的y次方 函数模拟实现 普通版:递减n的大小,逐次乘num #include double my_pow(double num, double...num * my_pow(num, n - 1); } int main() { printf("%lf\n", my_pow(2,-2)); return 0; } 优化版:依据n的奇偶性来进行递归处理
C语言中关于文件的操作语句 目录 前言 打开文件 关闭文件 顺序读写文件 随机读写文件 小结 前言 写这篇文的原因纯属自己正在看这章的知识,所以做一个小整理。...学C很久了,用的书是谭浩强的《C程序设计》第四版,这书可以说是C入门必备了。它是一本完全不需要广告的书。...打开文件 fopen(文件名,使用文件方式); 例如: fopen("a1","r"); a1表示要打开的文件名,r表示要对a1文件进行只读 注意: ① fopen()函数会返回文件信息区的地址...如果是对一个不存在的文件进行操作,那么会出错,fopen函数返回NULL,所以最好用判断语句判断一下。...小结 以上就是全部内容啦,关于文件的操作在实际运用中比较重要,这里都是比较基础的,只做为介绍,有兴趣的可以继续往下学习和深入了解。
函数原型 包含在头文件 “stdlib.h” 中 int system(const char * command) 函数功能 执行 dos(windows系统) 或 shell(Linux/Unix系统...说明:在windows系统中,system函数直接在控制台调用一个command命令。...在Linux/Unix系统中,system函数会调用fork函数产生子进程,由子进程来执行command命令,命令执行完后随即返回原调用的进程。 函数返回值 命令执行成功返回0,执行失败返回-1。...strcmp(input,"我是猪")) { system("shutdown -a");//取消关机命令 } else { goto flag; } return 0; } 附录 一些system()函数的参数及实现的功能...参数 功能 说明 ASSOC 显示或修改文件扩展名关联 ATTRIB 显示或更改文件属性 BREAK 设置或清除扩展式 CTRL+C 检查 BCDEDIT 设置启动数据库中的属性以控制启动加载
文章目录 一、fwrite 函数 二、fwrite 示例 三、fwrite 示例 ( 写出数据超出实际有效值 ) 四、fwrite 示例 ( 输出 int 整型到二进制文件中 ) 二进制文件读写两个重要的函数.../ putc 函数 , fscanf / fprintf 函数 , fgets / fgets 函数 , 只能用于操作 文本文件 ; 一、fwrite 函数 ---- 函数原型 : size_t fwrite...; 返回值说明 : size_t 返回值返回的是实际写出到文件的 基本单元 个数 ; 二、fwrite 示例 ---- fwrite 函数示例 : #include int...l buffer[3] = 6c, l buffer[4] = 6f, o Main End 运行结果 : 输出文件验证 : 写出到的文件内容 : D:\a.txt 文件中的文本内容 ; Hello...l buffer[3] = 6c, l buffer[4] = 6f, o Main End 运行结果 : 输出文件验证 : 写出到的文件内容 : D:\a.txt 文件中的文本内容 , 后面几个乱码复制不上
文章目录 一、fread 函数 二、缓冲区受限的情况 ( 循环读取文件 | feof 函数判定文件读取完毕 ) 三、处理乱码问题 四、记录读取的字节个数 五、读取到 0 字节的情况 六、读取完毕的情况...七、读取文本文件 "\n" 与 读取二进制文件 "\r\n" 区别 二进制文件读写两个重要的函数 , fread 和 fwrite , fread 用于读取文件 , fwrite 用于写出文件 ; fread.../ fwrite 函数 既可以操作 二进制文件 , 又可以操作 文本文件 ; getc / putc 函数 , fscanf / fprintf 函数 , fgets / fgets 函数 , 只能用于操作...文本文件 ; 一、fread 函数 ---- fread 函数作用 : 从文件中读取若干字节数据到内存缓冲区中 ; fread 函数原型 : size_t fread( void *buffer, size_t...\n"); return 0; } 执行结果 : 二、缓冲区受限的情况 ( 循环读取文件 | feof 函数判定文件读取完毕 ) ---- 假设缓冲区很小 , 文件很大 , 则需要循环读取文件数据
文章目录 一、fseek 函数 二、fseek 函数代码示例 一、fseek 函数 ---- FILE 文件结构中 , 存在一个指针 , 每次调用文件的读写函数 , 该指针就会移动 ; 如 fgets.../ fputs , getc / putc , fscanf / fprintf , fread / fwrite 等函数 ; 默认情况下 , 指针是从前向后移动的 ; 该文件内部的指针指向的位置可以通过...fseek 函数进行改变 ; fseek 函数原型如下 : 重新设置文件内部指针的位置 ; #include int fseek(FILE *stream, long offset..., int fromwhere); 设置的指针的位置是 起始位置 + 偏移量 ; 其中的 int fromwhere 参数就是 起始位置 , 有以下三种选择 : 文件头 SEEK_SET 0 当前位置...> int main() { // 以写文本的方式向文件中写出数据 FILE *p = fopen("D:/File/number.dat", "w"); // 写出 10 个字符
fclose(p); printf("Main End\n"); return 0; } 输出 : 13 + 5 = 18 使用 fscanf 函数从文件中获取数据 : 此处读取的数据格式是...Main End 读取指定格式的字符串 : 读取 "%d + %d = %d" 格式的字符串 , 将其中的整型变量 , 输出到 a, b, c 变量中 ; #include int...= %d", &a, &b, &c); printf("a=%d , b=%d , c=%d\n", a, b, c); } // 关闭文件 fclose(p...); printf("Main End\n"); return 0; } 执行结果 : a=13 , b=5 , c=18 Main End 二、fprintf 函数 ---- fprintf...函数用于向文件中输出格式化文本 ; 该函数类似于 printf 函数 , 只是 printf 函数将文本打印到命令行窗口中 , fprintf 将文本输出到文件中 ; fprintf 函数原型 : int
关于分配失败的原因,应该有多种,比如说空间不足就是一种。...3、关于函数使用需要注意的一些地方: A、申请了内存空间后,必须检查是否分配成功。 B、当不需要再使用申请的内存时,记得释放;释放后应该把指向这块内存的指针指向NULL,防止程序后面不小心使用了它。...C、这两个函数应该是配对。如果申请后不释放就是内存泄露;如果无故释放那就是什么也没有做。...操作系统在切换线程的时候会自动的切换栈,就是切换SS/ESP寄存器。栈空间不需要在高级语言里面显式的分配和释放。 ...一个就是用来记录管理信息的空间,另外一个就是可用空间了。而用来记录管理信息的实际上是一个结构体。在C语言中,用结构体来记录同一个对象的不同信息是 天经地义的事!
前言 在C语言中,有很多关于输入字符串的函数。在学习和使用C语言时,我们也无法避免需要输入字符串,因此本文是关于C语言中输入字符串的两个函数 gets() 和 scanf() 的。...一、gets()函数 功能:从标准输入流 stdin 中读取一行,并将其存储在缓冲区中。该行由第一个换行符 ('\n') 之前的所有字符组成。 注意:预留存储字符串的空间要足够大....头文件: #include 代码示例: #include int main() { char arr[20] = { 0 }; gets(arr); printf...("%s\n", arr); return 0; } 输入与输出: hs sfgs jsf,fh hs sfgs jsf,fh 二、scanf()函数 功能:一般输入字符串、数组、整型...的函数(...,还是gets()函数,使用时都具有缺陷 这篇博客如果对你有帮助,给博主一个免费的点赞以示鼓励,欢迎各位点赞评论收藏⭐️,谢谢!!!
arr2中的前五个整型的数据拷贝放在arr1中 这个时候我们就不能使用strcpy,因为他是整型数据了 这时候我们C语言就提供了memcpy函数,同样的,我们在Reference - C++ Reference...2.2.2 memcpy存在的局限性 我们这个代码也是存在一定的局限性,比如下面这种情况 将数组arr的前五个数据拷贝到arr[2]的位置,通过调试我们发现写出来的函数并不能有效的实现 C语言的标准规定...3.2.1 malloc C语言提供了一个能够动态内存开辟的函数: void* malloc(size_t size); 我们可以在cplusplus网站来查看一下这个函数: malloc - C++...free释放,主动释放 程序退出后,malloc申请的空间,也会被操作系统回收的 free malloc函数是用来申请空间的,这块空间使用完之后还是需要释放 C语言中提供了另外一个函数free,专门是用来做动态内存的释放和回收的...) 缓冲区的大小根据C编译系统决定的 结论: 因为有缓冲区的存在,C语言在操作文件的时候,需要做刷新缓冲区或者在文件操作结束的时候关闭文件 如果不做,可能导致读写文件的问题
文章目录 文件打开与关闭 文件读写操作 读/写文件中的字符串 格式化读写文件操作 文件定位函数 作业使用案例(自己可以全部完成一遍): 文件打开与关闭 C文件操作用库函数实现,包含在stdio.h中。...文件格式化输入函数 fscanf_s的函数原型为: int fscanf_s(文件指针,格式控制串,输入地址表列); 所在头文件: **函数功能:**从一个文件流中执行格式化输入,...故一般可根据该函数的返回值是否为 EOF 来判断是否已读到文件结尾处。...: int fprintf (文件指针,格式控制串,输出表列); 所在头文件: 函数功能:把输出列表中的数据按照指定的格式输出到文件中。...C语言规定的起始位置有三种,分别为文件开头、当前位置和文件末尾,每个位置都用对应的常量来表示: 例如:把位置指针移动到离文件开头100个字节处: fseek(fp, 100, 0);
函数名: strstr 功 能: 在串中查找指定字符串的第一次出现 用 法: char *strstr(char *str1, char *str2); 程序例: #include <...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
前言 在C语言中,由于字符串的操作较频繁,所以C语言本身提供了一些对于字符串处理的库函数。...的函数中,它需要引头文件。...int toupper (int c); 四、内存操作函数 1. memcpy void* memcpy (void* destination, const void* source, size_t...memmove函数处理的源内存块和目标内存块是可以重叠的; 2)如果源空间和目标空间出现重叠,就得使用memmove函数处理。...当然,除此之外,C语言的库函数中还有许多有趣的有关字符和字符串的函数,如果你有兴趣想要了解,可以通过cplusplus网站或cppreference网站找到它们,里面都有对每一个函数详细的各个部分的说明
文章目录 一、fwrite 函数 二、fread 函数 三、按照内存块的方式写文件 四、按照内存块的方式读文件 一、fwrite 函数 ---- fwrite 函数 : 将 const void *ptr...指针指向的 内存数据 , 拷贝 size_t size 乘以 size_t nmemb 字节的数据到 FILE *stream 指针指向的文件中 ; #include size_t...fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) 二、fread 函数 ---- fread 函数 : 从 FILE *...restrict stream 指向的文件中 , 读取 size_t size 乘以 size_t count 字节的数据到 void *restrict buffer 缓冲区中 , 返回成功读取的 size_t..., size_t size, size_t count, FILE *restrict stream ); 三、按照内存块的方式写文件 ---- 代码示例 : // 文件指针 FILE
文章目录 一、fgets 函数 二、fputs 函数 三、按照文本行的方式写文件 四、按照文本行的方式读文件 一、fgets 函数 ---- fgets 函数 : 从 FILE *stream 指针指向的文件中..., 读取一行文本数据 , 将其存储在 char *str 指针指向的内存空间 , 最多读取 n-1 个字符 ; 如果读取的文本行字符个数小于 n-1 , 则读取一整行数据 ; 如果读取的文本行字符个数大于...---- fputs 函数 : 将 const char *str 字符串写出到 FILE *stream 文件指向的文件中 ; #include int fputs(const char...> /** * @brief 主函数入口 * @return */ int main(int argc, char* argv[], char**env) { // 文件指针 FILE..."; // 接收字符串的数组 char str[64]; // 循环控制变量 int i = 0; // 以 读写 方式打开 文本文件 // 文件必须存在
文章目录 一、getc 函数 二、putc 函数 二、使用 getc 和 putc 函数实现文件加密操作 四、使用 getc 和 putc 函数实现文件解密操作 一、getc 函数 ---- getc...函数的作用是从 FILE* 指针指向的文件中读取 1 个字符 , int getc(FILE *stream); FILE *stream 参数 : 要读取字符的文件 ; int 返回值 : 读取到的字符返回...加密后的 b.txt 内容 : FGHIJKLMNOPQRSTUVWXYZ[\]^_ 四、使用 getc 和 putc 函数实现文件解密操作 ---- 逐个字节加密 : 使用 getc 函数读取一个字节...w : 如果文件不存在 , 就创建文件 , 如果文件存在 , 就将该文件覆盖 , 总之写出的是一个新文件 ; FILE *p2 = fopen("D:\\c.txt", "w"); char...[\]^_ 加密后的 c.txt 内容 : ABCDEFGHIJKLMNOPQRSTUVWXYZ
大家好,又见面了,我是你们的朋友全栈君。 C语言中:fread是一个函数。...从一个文件流中读数据,最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回 0。下面我们来看看c语言fread函数的用法。...fread()函数—- Reads data from a stream....number of full items actually read 实际读取的元素数.如果返回值与count(不是count*size)不相同,则可能文件结尾或发生错误....从ferror和feof获取错误信息或检测是否到达文件结尾.
若以文本模式打开文件,并使用fputs等函数写入换行符"\n"时,函数会自动在"\n"前面加上"\r"。即实际写入文件的是"\r\n"。...c语言库函数的参数使用的。...============================================================================= c语言文件读写的库函数都是自动维护FILE里面的相关成员...答:因为fread或者fgets这些函数如果读完了文件的所有内容,他们会设置FILE里面相关变量的值。 而feof函数只是判断FILE结构里面相关变量的值是否为文件已经结尾状态。...文件读写时,c语言库函数设置的buf大小为4K。
文章目录 一、remove 函数删除文件 二、rename 函数重命名文件 一、remove 函数删除文件 ---- remove 函数原型 : 删除指定的文件 ; #include ...int remove(char *filename); char *filename 参数是文件路径 ; 代码示例 : #include int main() { remove...("D:/File/dst.avi"); return 0; } 执行前 : 执行后 : 二、rename 函数重命名文件 ---- rename 函数原型 : 将文件由 char *oldname...重命名为 char *newname ; #include int rename(char *oldname, char *newname); char *oldname 参数是旧的文件路径...; char *newname 参数是新的文件路径 ; 代码示例 : #include int main() { rename("D:/File/src.avi", "
文件操作API函数详解在VC中,大多数情况对文件的操作都使用系统提供的 API 函数,但有的函数我们不是很熟悉,以下提供一些文件操作 API 函数介绍: 一般文件操作 API CreateFile...打开文件 要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门。...GetFileInformationByHand le 获取所有文件信息 该函数能够获取上面所有函数所能够获取的信息,如大小、属性等,同时还包括一些其他地方无法获取的信息,比如:文件卷标、...该函数需要文件句柄作为入口参数。 GetFullPathName 获取文件路径,该函数获取文件的完整路径名。 需要提醒的是:只有当该文件在当前目录下,结果才正确。如果要得到真正的路径。...以上六个函数为32位 API 中的一个小扩展库,文件压缩扩展库中的函数。文件压缩可以用命令 compress 创建。
领取专属 10元无门槛券
手把手带您无忧上云