//写代码的地方
/*主要是预编译文件当中没有把全部的头文件包含全,导致下面有些函数无法正常使用*/
/*此程序的主要作用在于修改旧的程序名,改为新的程序名*/
#include "预编译.h"
#pragma warning(disable:4996)//忽略4996错误提示
#pragma comment(linker,"/entry:mainCRTStartup /subsystem:windows")
VOID PrintUI(CONST CHAR* ExeName, CONST CHAR* UIName, CONST CHAR* color, SHORT X坐标, SHORT Y坐标, WORD UIWide, WORD UIHigh)
{
AllocConsole();/*添加一个调试的窗口*/
freopen("conin$", "r+t", stdin);/*将输入流设置为当前测试窗口*/
freopen("conout$", "w+t", stdout);/*将输出流设置为当前测试窗口*/
SetConsoleTitleA(UIName);/*设置窗口标准名称*/
system(color);
CHAR oldPathName[1024];/*原来的路径名*/
CHAR NewPathName[1024];/*我要要设置的路径名称*/
//LPTSTR OLD[1024] = oldPathName[1024]
GetModuleFileName(NULL,oldPathName,1024);/*获取当前程序的路径*/
strcpy(NewPathName, oldPathName);/*将参数2的内容空间的值拷贝道参数*/
/*DWORD就是无符号的INT*/
for (size_t i = strlen(oldPathName); i > 0; i--)
{
if (NewPathName[i-1] == '\\')/*第一个\是转义符*/
{
NewPathName[i] = 0;/*删除最后的字符串*/
strcat(NewPathName, ExeName);
break;
}
}
CHAR 命令符[MAXBYTE] = { 0 };
strcat(命令符,"del/f/q\"");
strcat(命令符, NewPathName);
strcat(命令符, "\">nul 2>nul");
system(命令符);
rename(oldPathName, NewPathName);//把老的路径设置为新的路径
HWND PrinUI = GetConsoleWindow();/*获取当前调试窗口的窗口句柄*/
SetWindowPos(PrinUI, 0, 0, 0, UIWide, UIHigh, SWP_NOMOVE);
SetWindowPos(PrinUI, 0, X坐标, Y坐标, UIWide, UIHigh, SWP_NOMOVE);
std::wcout.imbue(std::locale("CHS"));/*让wcout输出中文*/
}
//exe应用程序
int _tmain(int argc, _TCHAR* argv[])
//int main()
{
PrintUI("我的程序.exe", "WYWINDOW", "color 09", 500, 500, 300, 300);
printf("你好,hello\r\n");
//开始愉快地写代码
Sleep(2000);
}
#pragma once
#include<stdio.h>
#include <tchar.h>
#include<iostream>
#include <Windows.h>
#include <algorithm>
#include <cstdint>
#include <functional>
#include <list>
#include <map>
#include <set>
#include <string>
#include <vector>
#include<cstring>
// C
#ifndef _GLIBCXX_NO_ASSERT
#include <cassert>
#endif
#include <cctype>
#include <cerrno>
#include <cfloat>
#include <ciso646>
#include <climits>
#include <clocale>
#include <cmath>
#include <csetjmp>
#include <csignal>
#include <cstdarg>
#include <cstddef>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#if __cplusplus >= 201103L
#include <ccomplex>
#include <cfenv>
#include <cinttypes>
#include <cstdalign>
#include <cstdbool>
#include <cstdint>
#include <ctgmath>
#include <cwchar>
#include <cwctype>
#endif
// C++
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>
#if __cplusplus >= 201103L
#include <array>
#include <atomic>
#include <chrono>
#include <condition_variable>
#include <forward_list>
#include <future>
#include <initializer_list>
#include <mutex>
#include <random>
#include <ratio>
#include <regex>
#include <scoped_allocator>
#include <system_error>
#include <thread>
#include <tuple>
#include <typeindex>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#endif
#include "预编译.h"
上述三个代码分别是主函数,预编译头文件,预编译文件
结果如下::
数据类型和指针
//数据类型
/*短整型(short)占两个字节,int占用4个字节,long long占用八个字节*/
/*-32768--32767*/
SHORT 变量名 = 20;
__int16 D_int16;/*这个和short一样,也是占用两个字节*/
/*无符号整形 0-65534*/
USHORT D_USHORT;
unsigned __int16 D_unsigned_int16;
WORD D_WORD;
/*长整型-2147483648到2147483647*/
__int32 D_int32;
int D_int;
long D_long;
/*无符号长整型0-4294967295*/
unsigned int D_unsigned_int;
unsigned long D_unsigned_long;
unsigned __int32 D_unsigned_int32;
DWORD D_DWORD;
DWORD32 D_DWORD32;
size_t D_size_t;
ULONG D_ULONG;
/*超长整形*/
/*-9223372036854775808-9223372036854775807*/
long long D_longlong;
__int64 D_int64;/*一个字节占8位*/
LONG64 D_LONG64;
/*无符超长整形*/
ULONG64 D_ULONG64;
DWORD64 D_WORD64;
unsigned long long D_unsigned_longlong;
unsigned __int64 D_unsigned__int64;
/*单字节类型-128 127 0-255*/
__int8 D_int8;
CHAR D_char;/*ASCII*/
/*无符号单字节0-255*/
BYTE D_BYTE;
UCHAR D_UCAHR;
/*双字节*/
WCHAR D_WCHAR; /*UNICODE*/
wchar_t D_wchar_t;
TCHAR D_TCHAR;/*自适应字节*/
/*尽可能少用空间*/
/*小数*/
FLOAT D_FLOAT;
DOUBLE D_DOUBLE;
/*自适应长度*/
DWORD_PTR D_DWORD_PTR;
printf("%d\n", sizeof(DWORD_PTR));
char str[] = "abcdefg";/*占用了8个字节*/
printf("%d\n", str[0]);
char a = 97;/*ASCII*/
printf("%c\n", a);
/*指针*/
/*指针就是一个数据类型*/
/*这个数据类型的值是地址*/
/*二级指针*/
/*也是一个数据类型*/
/*他表示一级指针的地址*/
//cout << &D_FLOAT << endl;
//PVOID 指针 = (PVOID)0x00CFFB0C;
//int 指针 = (int)&D_FLOAT;
D_FLOAT = 1.2484;
FLOAT* 指针 = &D_FLOAT;
cout << *指针 << endl;
/*VOID* 指针 = &D_FLOAT;
FLOAT* 指针 = &D_FLOAT;
char* 指针 = (CHAR*)&D_FLOAT;*/