先添加 一个 头文件 string.h 用于字符串
    image.png
    字符串输入输出 fgets 与 puts
    C 库函数 char fgets(char str, int n, FILE *stream) 从指定的流 stream 读取一行,并把它存储在 str 所指向的字符串内。当读取 (n-1) 个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。
    声明 :char fgets(char str, int n, FILE *stream)
    》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
    strlen 计算字符长度
    strcat 字符串拼接
    strcmp 比较字符串
    strcpy 拷贝 // 加n 函数 安全函数 strncpy(a,b, 5) 5 =字符长度
    sprintf() 格式化字符串拼接到缓冲区
    块 {} 出块就生命周期就没了—相当于局部 , 全局不限制
    register 申请使用寄存器

    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. #include "test.h"
    4. int main(int argc, char *argv[]) {
    5. char strA[]={'a','b','c','d','e','f','\0'};
    6. char strB[]={"abcdef"};
    7. char *strC={"abcdef"};
    8. char strD[100]={0};
    9. // scanf("%s",strD);
    10. // printf("%s",strD);
    11. // fgets(strD,100,stdin); // fgets 需要三个参数
    12. // puts(strD); //puts 自带换行 只有一个参数
    13. // int changdu = strlen(strA); //stelen 计算字符串长度
    14. // printf("%d",changdu);
    15. // strcat(strA,strB); 把strB 拼接给 strA
    16. // printf("%s",strA);
    17. // 返回字符串相等 = 0
    18. // 返回1 或者其他 就是不相等
    19. // int nflag =strcmp(strA,strB);
    20. // printf("%d",nflag);
    21. // int n1= 100;
    22. // short n2=10;
    23. // sprintf(strD,"%s %d %hd",strB,n1,n2);
    24. // strD 可以看成拼接的数组 他可以装下 那些字符串
    25. // 后面就是打印格式化字符串类型 ,
    26. // printf("%s",strD);
    27. return 0;
    28. }

    申请内存 释放内存

    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. #include "test.h"
    4. int main(int argc, char *argv[]) {
    5. //申请内存 释放内存
    6. // 长度 字节
    7. //50
    8. char *p =(char *) malloc(50 *sizeof(char));
    9. memset(p,0,50*sizeof(char)); //不用memset 内存里面是乱的 可以使用这个函使内存平稳
    10. // p 是指针需要刷的块, 0 是刷成0 可替换 50 长度 52*sizeof(char)
    11. scanf("%s",p);
    12. printf("%s",p);
    13. free(p); //释放
    14. return 0;
    15. }

    读取文件
    详细

    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. #include "test.h"
    4. char * MyReadFile(char * szFilePath)
    5. {
    6. FILE *pFile; //文件指针
    7. // r w a 读 写 追加
    8. //rb wb ab b 二进制
    9. pFile = fopen(szFilePath,'rb'); // f FILE poen 打开
    10. if(pFile == NULL) //判断有无获取到文件指针
    11. {
    12. printf(" open file failed! \n ");
    13. system("pause");
    14. fclose(pFile); // 把文件指针释放掉
    15. exit(0);
    16. }
    17. fseek(pFile,0,SEEK_END); //文件指针 偏移 宏 这里只有 最后一个因为要到最后一个数
    18. /*
    19. int fseek( FILE *stream, long offset, int origin );
    20. 第一个参数stream为文件指针
    21. 第二个参数offset为偏移量,整数表示正向偏移,负数表示负向偏移
    22. 第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET
    23. SEEK_SET: 文件开头
    24. SEEK_CUR: 当前位置
    25. SEEK_END: 文件结尾
    26. */
    27. int nReadFileSize = ftell(pFile);
    28. rewind(pFile); //读取回来 rewind 参数只有一个文件指针
    29. //需要一个缓冲区 char 类型 的 buffer 文件多大的长度
    30. char * szReadTextBuffer =(char *)malloc((nReadFileSize +1) *sizeof(char));
    31. if(szReadTextBuffer == NULL) // 判申请成功没
    32. {
    33. printf("malloc memory failed!\n");
    34. system("pause");
    35. fclose(pFile);
    36. exit(0);
    37. }
    38. memset(szReadTextBuffer,0,(nReadFileSize +1)*sizeof(char)); //置空
    39. int nReadRet=0;
    40. //fread 函数 参数 (缓冲区 1字节方式读 读多长 文件指针)
    41. nReadRet=fread(szReadTextBuffer,1,nReadFileSize,pFile);
    42. if(nReadRet != nReadFileSize){
    43. printf("Read File failed!\n");
    44. system("pause");
    45. fclose(pFile);
    46. exit(0);
    47. }
    48. fclose(pFile);
    49. return szReadTextBuffer;
    50. }
    51. int main(int argc, char *argv[]) {
    52. char *p = MyReadFile("C://");
    53. //printf();
    54. system("pause");
    55. return 0;
    56. }

    写出文件

    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. #include "test.h"
    4. int MyWriteFile(char *szFilePath, char * szStr) // szFailePath 文件地址 szstr 文件内容
    5. {
    6. FILE *pFile;
    7. pFile = fopen(szFilePath,"wb"); // wb 二进制写出
    8. if(pFile == NULL) //判断是否写出
    9. {
    10. printf("Read File failed!\n");
    11. system("pause");
    12. fclose(pFile);
    13. exit(0);
    14. }
    15. int nRet = fwrite(szStr,sizeof(szStr)+1,1,pFile); // 接收
    16. fclose(pFile);
    17. return nRet;
    18. }
    19. int main(int argc, char *argv[]) {
    20. MyWriteFile("D:\\aaa.txt","aaaaaa");
    21. system("pause");
    22. return 0;
    23. }

    预处理器 指令
    image.png