
c语言随笔
直方大
君子慎独,此谓诚于中,形于外,故君子必慎其独也
展开
-
虚拟机中Linux环境root密码重置+格式化u盘
Linux的root密码更新原创 2022-08-08 15:24:43 · 1232 阅读 · 0 评论 -
int类型究竟占几个字节
编译器可以根据自身硬件来选择合适的大小,但是需要满足约束:short和int型至少为16位,long型至少为32位,并且short型长度不能超过int型,而int型不能超过long型。这即是说各个类型的变量长度是由编译器来决定的,而当前主流的编译器中一般是32位机器和64位机器中int型都是4个字节(例如,GCC)。下面列举在GCC编译器下32位机器和64位机器各个类型变量所占字节数:C类型3264char11short int22int44long i原创 2021-06-04 13:33:06 · 52106 阅读 · 0 评论 -
vs2010如何设置显示行号
点击“Tools”-“Options”,将弹出Options对话框。;点击“Text Editor”-“All Languages”-“Line numbers”。然后点击确定即可。此时行号已经显示。解决前:解决后:原创 2021-05-26 09:03:02 · 952 阅读 · 0 评论 -
c语言创建文件夹与删除文件夹
今天在写代码时遇到对文件夹的创建删除操作,经过一番查找试验,筛选出两种方法,mark一下方法一#include <io.h>//_access的头文件void fun(char*path){ // path为绝对路径 eg: "d:\\log" //如果文件夹不存在 if(_access(path,0)!=0) //创建文件夹 CreateDirectory(path,0); //删除文件 //DeleteFi原创 2021-05-21 09:04:47 · 9764 阅读 · 2 评论 -
C语言清空指定文件夹中所有文件
最近在项目中遇到一个需求,要求调用后删除该目录下的所有*.*文件实现后发篇博客来记录一下,日后好调用#include "iostream.h"//代码如需调试,只需将改成""即可#include "string.h"#include "stdlib.h"#include "time.h"#include "math.h"#include "windows.h"#include "stdio.h"#include "shellapi.h"#include "fstream.h"#inc原创 2021-04-21 10:23:46 · 2755 阅读 · 0 评论 -
用C语言给指定的内存地址赋值(通过指针)
最近碰到一个这样的题:指定了一个地址,比如说0x0312ff7c这样一个地址,要求是给这个指定的地址赋一个确定的值,比如说100,之前在汇编里这样用过,在c中还真没用过。今天在网上查了查,自己也在vs上运行了一下,正好做个总结,方法如下:char * test = NULL;test = (char *)0x0312ff7c;*test = value;//自己赋值就好了这里需要注意的是第二行中的(char *)是一定需要的,而且要和上面的指针定义的类型相对应,比如:int * test = N原创 2021-03-04 13:29:01 · 11797 阅读 · 5 评论 -
vs设置生成exe或者dll文件的目录设定
项目–>项目属性(一般在最后一行)–>常规–>输出目录 输入自己想要的路径原创 2021-02-23 14:22:54 · 4442 阅读 · 0 评论 -
Run-Time Check Failure #0 - The value of ESP was not properly saved across a
报错的提示就是调用函数的参数压栈类型不一致,检查下是不是__stdcall 或者 WINAPI, 如果是 WINAPI ,要查看一下 WINAPI 是否被重定义过,我这里就是因为别人在某个头文件中对 WINAPI 重定义了 并且没有定义为 _stdcall, 才导致我在调试时报错...原创 2021-02-18 15:55:18 · 997 阅读 · 0 评论 -
char *fun() 返回值为指针的函数
一个函数的返回值类型可以是整型, 字符型, 实型等, 也可以是指针类型。 指针型函数定义的一般形式为 :数据类型 *函数名(形参){. . .}下面举个char型指针函数的使用例子#include <string.h>#include <stdio.h>//本函数用于拼接两个字符串char *catstr(char* str1, char *str2){ char *temp = str1; while (*str1 != '\0')str1++; whi原创 2020-12-01 11:12:56 · 3755 阅读 · 0 评论 -
win32.h源码
最近在做window下的USB通讯,故整理出这些源码/* src/include/port/win32.h */ #if defined(_MSC_VER) || defined(__BORLANDC__)#define WIN32_ONLY_COMPILER#endif /* * Make sure _WIN32_WINNT has the minimum required value. * Leave a higher value in place. When building wit原创 2020-08-10 15:14:55 · 703 阅读 · 0 评论 -
DLL的封装与使用
封装1 头文件加 _declspec(dllexport)2 源文件 #include …hint …{}编译链接,生成 .lib 与 .dll使用1 将.lib .h .dll 放至新创项目名的同一目录下2 头文件同上源文件可直接用资源里放 .lib原创 2020-07-06 13:43:59 · 282 阅读 · 0 评论 -
平面上N个点,求斜率最大的那条直线通过的两点
平面上N个点,每两个点都确定一条直线,求出斜率最大的那条直线所通过的两个点(斜率不存在的情况不考虑)。时间效率越高越好。关于这道题,网上已经给出了解答要点:3个点A,B,C,把它们的按x坐标排序。假设排序后的顺序是ABC,那么有两种情况:1.ABC共线,则k(AB)=k(BC)=k(AC)2.ABC不共线,则ABC将形成一个三角形,那么k(AC)<max(k(AB), k(BC))...原创 2020-04-11 11:13:23 · 1465 阅读 · 0 评论 -
怎么解决VC6.0出现的Error spawning cl.exe错误
注意事项最关键的就是把安装路径设置好,Microsoft Visual Studio\后面的都不需要改。当我们在VC++6.0中编写好一个C语言程序后,点击“Compile(编译)”或者“Build(构建)”出现的“Compiling... ,Error spawning cl.exe”错误提示,一般都是因为路径设置的问题引起的。出现这种问题不需要重装,也许重装也不能解决这种问题。首先我...原创 2020-02-26 12:17:59 · 899 阅读 · 0 评论 -
MFC中AfxMessageBox显示变量
显示intint int_value = 2018; //int_value为需要现实的int值CString temp_value = _T(""); //temp_value用来处理int值temp_value.Format(_T("%d"), int_value);//固定格式AfxMessageBox(temp_value);显示floatlong fl...原创 2019-12-29 14:49:49 · 1386 阅读 · 0 评论 -
2015蓝桥杯—奖券数目
奖券数目有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。请提交该数字(一个整数),不要写任何多余的内容或说明性文字。解法一:8 * 9 * 9 * 9 * 9 ...原创 2019-03-20 20:45:49 · 219 阅读 · 0 评论 -
常见题型
最长不下降子序列问题 1557: [蓝桥杯][算法提高VIP]聪明的美食家2级标题2级标题原创 2019-03-17 18:27:03 · 158 阅读 · 0 评论 -
2017__省B__蓝桥
10.标题: k倍区间给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。你能求出数列中总共有多少个K倍区间吗?输入第一行包含两个整数N和K。(1 <= N, K <= 100000)以下N行每行包含一个整数Ai。(1 <= Ai <= ...原创 2019-03-18 22:23:39 · 251 阅读 · 0 评论 -
问题 1639: [蓝桥杯][算法训练VIP]方格取数
题目描述设有N*N的方格图(N< =10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0。某人从图的左上角的A 点(1,1)出发,可以向下行走,也可以向右走,直到到达右下角的B点(N,N)。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从A点到B 点共走两次,试找出2条这样的路径,使得取得的数之和为最大。输入输入的第一行为一个整数N(表示...原创 2019-03-18 23:02:04 · 305 阅读 · 0 评论 -
C语言随机数生成
伪随机数种子在每次启动计算机时是随机的,但是一旦计算机启动以后它就不再变化了;也就是说,每次启动计算机以后,种子就是定值了,所以根据公式推算出来的结果(也就是生成的随机数)就是固定的 #include <stdio.h> #include <stdlib.h> int main(){ int a = rand(); ...原创 2019-05-23 15:42:45 · 20561 阅读 · 0 评论 -
全排列之递归
全排列之递归字符#include <stdio.h>void swap(char *a,char *b){ char c; c=*a; *a=*b; *b=c; } void Perm(char *list, int k, int m ){ //产生[list[k:m]的所有排列 int i; if(k==m) { //递归到只剩...原创 2019-02-24 17:04:49 · 146 阅读 · 0 评论