70,006
社区成员




/*
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define line 11
//第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。
//即为:num!/(count!*(num-count)!) "!"为阶乘
_int64 factorial(_int64 z) //阶乘
{
_int64 i,count_sum=1;
for (i = 1; i <= z; ++i)
{
count_sum *= i;
}
return count_sum;
}
int main()
{
_int64 num, count, kong; //行号-num 数字-count 空格-kong 打印序号-xuhao
for (num = 0; num < line; num++)
{
for (kong = line-num; kong > 0; --kong)
{
printf(" ");
}
for (count = 0; count <= num; count++)
{
printf("%lld ", factorial(num)/ (factorial(count)*factorial(num-count)));
}
printf("\n");
}
double a = 2,b = 3,c = 4;
for(num = 1;num < 11;++num)
{
printf("-----------------------------num=%d---------------------------\n",num);
printf("%.1f^%lld=%lf\n",a,num,pow(a,(int)num));
printf("%.1f^%lld=%lf\n",b,num,pow(b,(int)num));
printf("%.1f^%lld=%lf\n",c,num,pow(c,(int)num));
}
system("pause");
return 0;
}
*/
#include<stdio.h>
#include <Windows.h>
#include<cwchar>
void main()
{
// 打开剪贴板
if (!OpenClipboard(NULL)|| !EmptyClipboard())
{
printf("打开或清空剪切板出错!\n");
return;
}
HGLOBAL hMen;
TCHAR strText[256] = {L"我被拷贝到剪切板!\n"};
// 分配全局内存
hMen = GlobalAlloc(GMEM_MOVEABLE, ((wcslen(strText))*sizeof(TCHAR))*2);
if (!hMen)
{
printf("分配全局内存出错!\n");
// 关闭剪切板
CloseClipboard();
return;
}
// 把数据拷贝考全局内存中
// 锁住内存区
LPWSTR lpStr = (LPWSTR)GlobalLock(hMen);
// 内存复制
wmemcpy(lpStr, strText, ((wcslen(strText))*sizeof(TCHAR)));
// 字符结束符
lpStr[wcslen(strText)] = (TCHAR)0;
// 释放锁
GlobalUnlock(hMen);
// 把内存中的数据放到剪切板上
SetClipboardData(CF_UNICODETEXT, hMen);
CloseClipboard();
return;
}
ANSI版本
#include<stdio.h>
#include <Windows.h>
void main()
{
// 打开剪贴板
if (!OpenClipboard(NULL)|| !EmptyClipboard())
{
printf("打开或清空剪切板出错!\n");
return;
}
HGLOBAL hMen;
char strText[256] = "我被拷贝到剪切板!\n";
// 分配全局内存
hMen = GlobalAlloc(GMEM_MOVEABLE, ((strlen(strText)+1)*sizeof(char)));
if (!hMen)
{
printf("分配全局内存出错!\n");
// 关闭剪切板
CloseClipboard();
return;
}
// 把数据拷贝考全局内存中
// 锁住内存区
LPSTR lpStr = (LPSTR)GlobalLock(hMen);
// 内存复制
memcpy(lpStr, strText, ((strlen(strText))*sizeof(char)));
// 字符结束符
lpStr[strlen(strText)] = (TCHAR)0;
// 释放锁
GlobalUnlock(hMen);
// 把内存中的数据放到剪切板上
SetClipboardData(CF_TEXT, hMen);
CloseClipboard();
return;
}
两个我都在操作系统上编译运行正确通过的。测试没问题。
char strText[256] = "我被拷贝到剪切板!\n";
// 分配全局内存
hMen = GlobalAlloc(GMEM_MOVEABLE, ((strlen(strText)+1)*sizeof(char)));