
c
qq_43361844
这个作者很懒,什么都没留下…
展开
-
二维数组 多维数组的 笔记
int arr[4];int *p = arr;int (*p1) [4] = &arr; 对数组名进行取地址首先数组名是一个常量 无法进行++ 操作arr 代表的是数组中第一个元素的首地址(如果是多重数组只需要关注第一[] 其他的不需要考虑)arr+ 1 = ++p;duo多维数组:定义一个二维数组 arr[3][4]int (*p)[4];arr = arr[0]p= &arr;数组名是第一维数组的第一个元素的首地址...原创 2021-08-26 09:37:04 · 134 阅读 · 0 评论 -
C语言多字节和宽字节问题
关键字 多字节宽字节 setlocale() wcstombs() mbstowsc()原创 2020-12-18 10:53:05 · 478 阅读 · 0 评论 -
C语言学习1
运算符运算符分为:单目运算符,双目运算符,三目运算符三目运算符 “?:”单目运算符是指运算所需变量为一个的运算符,即在运算当中只有一个操作数,又叫一元运算符,其中有逻辑非运算符:!、按位取反运算符:~、自增自减运算符:++, --等。逻辑非运算符【!】、按位取反运算符【~】、自增自减运算符【++, --】、负号运算符【-】、类型转换运算符【(类型)】、指针运算符和取地址运算符【*和&】、长度运算符【sizeof】双目运算符运算所需变量为两个的运算符叫做双目运算符,或者要求转载 2020-12-11 16:26:22 · 321 阅读 · 0 评论 -
文件操作错误1
对自己不知情的程序操作的时候需要注意,比如说出现下列问题:请按任意键继续. . .不是应该在输出的后面显示吗?看程序:FILE *fp; fp = fopen(".//my_text", "w"); if (fp == NULL) { printf("file open failed"); return 0; } char buffer[] = "this is fprintf function test file1\r"; for (int i = 0; i < 2;原创 2020-12-10 15:54:02 · 152 阅读 · 0 评论 -
文件读写错误1(文件的读写交替进行,其中没有对文件指针的位置重置)
//fscanf() 和 fprintf()两个函数如果想交替使用必须要用fseek 进行重置文件指针位置,否则出错FILE * fp; char buffer[200] = { 0 }; fp = fopen("D:\\visualcode\\C语言读取及修改简单配置文件内容\\test_fprintf\\Startup.cfg", "r+"); //fseek(fp, 0, SEEK_SET); ///① fprintf(fp, "%s", "1234567890"); //② //fs原创 2020-12-10 15:41:16 · 258 阅读 · 0 评论 -
sscanf中的format格式
char buffer[100]={0},buffer1[200]={0};//format取字符的格式好像只是使用于类似scanf的函数其中format格式是C语言中的规范,%意味着提取字符,以C语言中规范的控制字符结束(我的理解),其他的不在%包含之内的字符串,意味着如果源字符串匹配到了,将该字符丢弃不提取,后面如果还是有变量则起始位置从该字符的后一个字符开始。sscanf("sdfghj=jhgfdfgh","%s=%s",buffer,buffer1);printf("%s\n%s\n",bu原创 2020-12-10 13:23:28 · 575 阅读 · 0 评论 -
文件读写4(读取文件中指定的数据并且修改)
找了很多用C语言修改文件中数据的例子,很多都是将修改过后的整个文件复制到另一个文件里,之后删除源文件,接着将刚写进数据的文件名改为删除的文件名,感觉这有点自欺欺人的感觉,针对小项目还行,如果遇到文件大一点,处理的文件特别多的情况就很棘手,首先内存占用这一块就过不了关。最终找到一种方法,是通过文件指针,将原来的数据覆盖写的方式,但是这种方式也是有不足的,如果修改过后的数据没有之前的长就会导致有残余数据接在后面导致错误,但是只需要写入空格占位就可以。FILE * fp;//如果文件存在则删除并且重建原创 2020-12-10 09:52:46 · 409 阅读 · 0 评论 -
文件读写5(C语言 读写的方式是按行来读还是按照一个字符串来读)
按照行来读 1 按照字符串来读 2FILE *fp;fp = fopen("test.cfg", "r");//// 1//如果是按照行来读char buffer[200];//fscanf()中的format格式为"%[^\n]%*[\n]",取回车之前的内容到变量,并且将空格取走while(fscanf(fp,"%[^\n]%*[\n]",buffer)!=EOF);//如果没有加%*[\n]会一直打印之前的buffer值,陷入死循环 printf("%s\n",buf...原创 2020-12-10 09:46:01 · 179 阅读 · 0 评论 -
文件读写3(C语言从文件中读写)
//FILE * fp;//fp = fopen(“D:\visualcode\C语言读取及修改简单配置文件内容\test_fprintf\my_config”, “r”);//char buffer[200];//while (fscanf(fp, “%*[ ]”)!=EOF && fscanf(fp, “%s”, buffer)!=EOF)//跳过每行之前的多余的空格//buffer最终存储的是每行除掉换行的所有字符//{// printf("%s\n", buffer);原创 2020-12-09 17:02:01 · 125 阅读 · 0 评论 -
文件读写2 (C语言从控制台多次读取不同行的内容写到文件之中)
读取字符串到文件中很简单,但是如果读取的字符串后面有空格就需要跳过回车(\n)才可以读入。1.(错误的写法)FILE *fp;fp = fopen(“D:\visualcode\C语言读取及修改简单配置文件内容\test_fprintf\my_config”, “w”);char buffer[200];scanf("%[^\n]", buffer);fprintf(fp, “%s\n”, buffer);scanf("%[^\n]", buffer);fprintf(fp, “%s\n”,原创 2020-12-09 16:24:45 · 1287 阅读 · 0 评论 -
文件读写1(用C语言将文件中内容读取到控制台之中)
FILE *fp;fp = fopen(“D:\visualcode\C语言读取及修改简单配置文件内容\test_fprintf\my_config”, “r+”);char buffer[200];while (fscanf(fp, “%[^\n]”, buffer) != EOF){printf("%s\n", buffer);}fclose(fp);return 0;原创 2020-12-09 15:47:33 · 916 阅读 · 0 评论