C/C++
风吹柳絮
这个作者很懒,什么都没留下…
展开
-
检查IPV4是否合法可用
bool isIPV4Valid(const std::string &szIpAddr){ int nLength = szIpAddr.length(); if( 7 > nLength || 15 < nLength ) //0.0.0.0 ~ 255.255.255.255,所以IP地址字符串长度应为7~15之间 return false; int nNum = -1; //记录IP中的字段值 int nCount = 0; /原创 2020-07-02 19:45:34 · 591 阅读 · 0 评论 -
C语言宏定义中#、##、#@符号的使用
1、宏定义中#的使用在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。例:#define A(x) #x#define B(x, y) #x"."#y即 A(123) ------> "123" B(123, 456) ------> "123"".""456" std::string str1 = A(test); //即str1 = “test”; st原创 2020-06-03 16:16:16 · 2295 阅读 · 0 评论 -
通用双向链表
#pragma once#include <stdio.h>struct GeneralListNode{ GeneralListNode* next; GeneralListNode* pre; void* data; GeneralListNode() { next = NULL; pre = NULL; data = NULL; } ~Ge...原创 2019-12-02 21:14:23 · 189 阅读 · 0 评论 -
C/C++程序创建多级文件夹
#include <iostream>#ifdef __POSIX__#include <unistd.h>#include <dirent.h>#else#include <io.h>#include <direct.h>#endif // __POSIX__int makeDirs(const char* szDi...原创 2019-11-07 15:47:48 · 927 阅读 · 0 评论 -
C/C++中scanf、sscanf、fscanf函数用法
#include <stdio.h>#include <stdlib.h>int main(int atgc, int *argv[]){ int a; char buf[100] = {0}; FILE *file = NULL; printf("请输入一个数字:"); scanf("%d", &a); printf("a = %d\n", ...原创 2019-05-19 10:43:46 · 1449 阅读 · 0 评论 -
C/C++中的printf,sprintf,fprintf使用
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。#include <stdio.h>int main(int argc, char *argv[]){ int a = 3; printf("整数: %d\n", a)...原创 2019-05-15 22:00:18 · 1505 阅读 · 1 评论 -
快速排序、冒泡排序、插入排序、选择排序
1、快速排序void QuickSort(int values[22], int begin, int end){ int left = begin; int right = end; int base = values[(left + right)/2]; while(left <= right) { for(;values[left] < base; left++...原创 2019-05-22 21:09:12 · 110 阅读 · 0 评论 -
C/C++单向链表
main.cpp#include <stdio.h>#include "SingleList.h"int main(int argc, int *argv[]){ Node *pHead = NULL; for (int i = 0; i < 10; i++) { Node node; node.id = i; pHead = AddNode(pHea...原创 2019-05-31 20:52:17 · 184 阅读 · 0 评论 -
判断单向链表中是否存在环
判断单向链表中是否存在环编程思路:追赶问题:在同一圆环上,当两个物体以不同的速度前进时,他们总能在某个时间点上再次相遇(即当两个指针以不同的移动速度在一个单向链表上移动时,若该链表有环的存在,则这两个指针总会在某一时刻同时指向链表上的同一个节点)。#include struct HasRing { HasRing* pNext; HasRing() { pNext = null...原创 2019-08-23 17:12:20 · 177 阅读 · 0 评论