![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
单于大爷
一招鲜吃遍天,一招制敌,一通百通!
展开
-
WindowsAPI GetLastError函数信息只报ID号,将错误信息写一个头文件(“GetLastError.h”)来实现,用一个函数(RetGetLastError(INT))解决问题
WindowsAPI GetLastError函数信息只报ID号,将错误信息写一个头文件(“GetLastError.h”)来实现,用一个函数(RetGetLastError(INT))解决问题原创 2022-11-30 12:24:47 · 614 阅读 · 1 评论 -
C语言重定向方法
编译a.out$ ./a.out <a.c >b.c$./a.out <a.out >b.out#include <stdio.h>int main(){ char c,i; while((i = scanf("%c")) && (i!=-1)) printf("%c",c); return 0;}其实是想说...原创 2020-02-29 01:57:37 · 562 阅读 · 2 评论 -
CopyFile 使用方法
CopyFile复制文件BOOL CopyFile(LPCTSTR lpExistingFileName,LPCTSTR lpNewFileName,BOOL bFailIfExists );返回值说明:调用成功,返回非零值调用失败,返回零值,并且设置GetLastError()参数说明:1.LPCSTR lsExiststringFilename 将要拷贝的文件名2.LPCSTR...原创 2020-01-05 16:03:04 · 2889 阅读 · 0 评论 -
fread和fwrite的使用方法
Copyfile 使用C方法实现有两个重要的函数#include <stdio.h>size_t fread(void *pstr, size_t size_pre, size_t nmemb, FILE *stream);size_t fwrite(const void *pstr, size_t size_pre, size_t nmemb, FILE *stream);...原创 2020-01-05 01:35:47 · 213 阅读 · 0 评论 -
内存锁定
#include <sys/types.h>int mlock(const void* ptr,size_t length);//用于锁定一块内存区域,ptr是首地址,length是长度int munlock(void* ptr,size_t length);//对于锁定的内存进行解锁int mlockall(int flag);...原创 2019-05-26 00:54:09 · 588 阅读 · 0 评论 -
函数中数组形参的一些用法总结
数组在函数中传递,在函数的形参中的描述有三种方法://第一种方案是直接写明一个数组void printptr(int array[]) {}//第二种方案是直接写成数组带长度,其实已退化成第一种情况void printptr1(int array[10]) {} //在这里写10也不会传递数组的长度//第三种方案是直接传递指针void printptr2(int* array) ...原创 2019-03-23 09:46:06 · 2021 阅读 · 0 评论 -
关于数组在函数中和传递
#include <iostream>#include <cstdlib>using namespace std;//传递数组指针参数,//第一种方案,是指针和数组长度void printptr(int array[10],int size){ for(int i = 0; i< size;i++) { cout << array[i...原创 2019-03-23 09:22:25 · 488 阅读 · 0 评论 -
将一个字符串,转化为十六进制
今天和同事比写代码,我将我写的代码贴出来,我们说不用任何标准库函数,自己手写函数方法,将字符串转化为16进制传递的时候是以>hex.exe 1234567 进行传递字符串的#include <stdio.h>int clength(char* str){ int ret = 0; while(*str != '\0') { ret++; str++; }...原创 2019-03-29 22:40:09 · 956 阅读 · 0 评论 -
计算天数之差
同事的弟弟太懒,要计算出差的天数,然后计算从那年那月到那年那月出差的天数之差。花了点时间写了一个计算小程序,然后用TCC编译了一下。用起来还不错,但是有个小bug,就是计算年的时候会出点问题,我再改改。#include <stdio.h>int is_leapyear(int year){ return !( (year % 400 ) || ((year % 4)&...原创 2019-03-29 18:46:33 · 186 阅读 · 0 评论 -
static关键词存在两层意图
1.作为变量关键词时,可以修饰全局变量,当修饰全局变量时,变量的作用域在本件中有效,此文件之外的变量不能访问,如果变量初始化后,存储在.data段中,如果变量未被初始化,则存储在.bss段中。2.当修饰局部变量时,则将变量存储在静态存储区,变量初始化后存储在.data段,如果未被初始化则存储在.bss段,静态局部变量只能被他所包含的作用域使用,而且变量被首次初始化后,将保留变量的延续性,也就是说...原创 2020-02-14 01:24:54 · 53 阅读 · 0 评论 -
Linux内核中的两精妙的宏定义
第一个宏,计算偏移量#ifndef offsetof#define offsetof(TYPE,MEMBER) (size_t)(&amp;((TYPE*)0)-&gt;MEMBER)#endif来说明下这个宏的妙用1.(TYPE*)0 是将0类型强制转换成指针,用0-&gt;MEMBER来找到对应的成员;2.使用&amp;取地址符,只取到0-&gt;MEMBER的地址,不进行值操作...原创 2020-02-14 01:24:32 · 114 阅读 · 0 评论 -
C中可变参数函数
先说明规则: 1.函数的可变参数中必须有一条确定的参数(至少一条); 2.可变参数列表必须从头开始访问,访问到尾部; 3.可变参数列变不能确定参数数目;(编译时才能确定) 4.可变参数的变量类型是不确定的,编译时必须确定参数类型,变量的参数类型不确定时,函数的结果未知。参数使用方法:#include <stdarg.h> va_list argp; ...原创 2018-09-16 23:44:33 · 137 阅读 · 0 评论