c-实在看不出错哪了?大伙帮着看看

问题描述

实在看不出错哪了?大伙帮着看看

帮忙看看error:fatal error C100: unexpected end of file found

#include "stdafx.h"

#if !defined(AFX_INPUT1_H__C3A931E6_C8DD_430A_B5A0_E66F355D3F54__INCLUDED_)
#define AFX_INPUT1_H__C3A931E6_C8DD_430A_B5A0_E66F355D3F54__INCLUDED_

#if _MSC_VER > 1000

#pragma once
#endif
bool SaveToFile1(HBITMAP hBitmap, LPCTSTR lpszFileName)
{
HDC hDC;
//当前分辨率下每象素所占字节数
int iBits;
//位图中每象素所占字节数
WORD wBitCount;
//定义调色板大小, 位图中像素字节大小 ,位图文件大小 , 写入文件字节数
DWORD dwPaletteSize=0, dwBmBitsSize=0, dwDIBSize=0, dwWritten=0;
//位图属性结构
BITMAP Bitmap;
//位图文件头结构
BITMAPFILEHEADER bmfHdr;
//位图信息头结构
BITMAPINFOHEADER bi;
//指向位图信息头结构
LPBITMAPINFOHEADER lpbi;
//定义文件,分配内存句柄,调色板句柄
HANDLE fh, hDib, hPal,hOldPal=NULL;

//计算位图文件每个像素所占字节数
hDC = CreateDC("DISPLAY", NULL, NULL, NULL);
iBits = GetDeviceCaps(hDC, BITSPIXEL) * GetDeviceCaps(hDC, PLANES);
DeleteDC(hDC);
if (iBits <= 1)
{
wBitCount = 1;
}
else if (iBits <= 4)
{
wBitCount = 4;
}
else if (iBits <= 8)
{
wBitCount = 8;
}
else
{
wBitCount = 24;
}
GetObject(hBitmap, sizeof(Bitmap), (LPSTR)&Bitmap);
bi.biSize = sizeof(BITMAPINFOHEADER);
bi.biWidth = Bitmap.bmWidth;
bi.biHeight = Bitmap.bmHeight;
bi.biPlanes = 1;
bi.biBitCount = wBitCount;
bi.biCompression = BI_RGB;
bi.biSizeImage = 0;
bi.biXPelsPerMeter = 0;
bi.biYPelsPerMeter = 0;
bi.biClrImportant = 0;
bi.biClrUsed = 0;
dwBmBitsSize = ((Bitmap.bmWidth * wBitCount + 31) / 32) * 4 * Bitmap.bmHeight;
//为位图内容分配内存
hDib = GlobalAlloc(GHND,dwBmBitsSize + dwPaletteSize + sizeof(BITMAPINFOHEADER));
lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDib);
*lpbi = bi;
// 处理调色板

hPal = GetStockObject(DEFAULT_PALETTE);
if (hPal)
{
hDC = GetDC(NULL);
hOldPal = SelectPalette(hDC, (HPALETTE)hPal, FALSE);
RealizePalette(hDC);
}

// 获取该调色板下新的像素值
GetDIBits(hDC, hBitmap, 0, (UINT) Bitmap.bmHeight, (LPSTR)lpbi + sizeof(BITMAPINFOHEADER)
+dwPaletteSize, (BITMAPINFO *)lpbi, DIB_RGB_COLORS);
//恢复调色板
if (hOldPal)
{
SelectPalette(hDC, (HPALETTE)hOldPal, TRUE);
RealizePalette(hDC);
ReleaseDC(NULL, hDC);
}
//创建位图文件

fh = CreateFile(lpszFileName, GENERIC_WRITE,0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, NULL);

if (fh == INVALID_HANDLE_VALUE)
{
return FALSE;
}
// 设置位图文件头
bmfHdr.bfType = 0x4D42; // "BM"
dwDIBSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + dwPaletteSize + dwBmBitsSize;
bmfHdr.bfSize = dwDIBSize;
bmfHdr.bfReserved1 = 0;
bmfHdr.bfReserved2 = 0;
bmfHdr.bfOffBits = (DWORD)sizeof(BITMAPFILEHEADER) + (DWORD)sizeof(BITMAPINFOHEADER) + dwPaletteSize;
// 写入位图文件头
WriteFile(fh, (LPSTR)&bmfHdr, sizeof(BITMAPFILEHEADER), &dwWritten, NULL);
// 写入位图文件其余内容
WriteFile(fh, (LPSTR)lpbi, dwDIBSize, &dwWritten, NULL);
//清除
GlobalUnlock(hDib);
GlobalFree(hDib);
CloseHandle(fh);

return true;
}

解决方案

直观的看,好像是 没有 #endif.
{} 是否匹配,借助 UE 查了一下,好像是匹配的。

解决方案二:

预处理命令缺一个#endif

解决方案三:

确实是少了个#endif

解决方案四:

你可以编译的时候把除了上面的语编译部分其他部分屏蔽 或者相反就知道了

解决方案五:

确实是少了个#endif

时间: 2024-09-14 00:05:12

c-实在看不出错哪了?大伙帮着看看的相关文章

c语言-C语言用函数求最大公约数和最小公倍数,看不出错在哪,代码如下

问题描述 C语言用函数求最大公约数和最小公倍数,看不出错在哪,代码如下 #include int maxnumber(int x,int y) { int a=0; a=x%y; while(a!=0) { a=x%y; x=y; y=a; } return y; } int minnumber(int x,int y) { int z; z=(x*y)/maxnumber(x,y); return z; } void main() { int maxnumber(int x,int y); i

vb net-请帮我把下面的C#翻译成vb.net,实在看不懂,谢谢

问题描述 请帮我把下面的C#翻译成vb.net,实在看不懂,谢谢 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net.Sockets; using System.IO; namespace SyncChatServer { class User { public TcpClient client { get; private set; } pu

j求大神解释-帮忙解释一下,这个url什么意思?实在看不懂

问题描述 帮忙解释一下,这个url什么意思?实在看不懂 data-options=""url:'${ctx}/rest/common/productType?type=product_type_tree&pid=03&mod=1' cascadeCheck:falseonlyLeafCheck:truerequired:trueeditable:false "" 特别那个pid=03和mod等于1啥意思,能帮忙详细的解释一下这个url么??????急

服务端-关于开发android,ios应用,使用paypal的sdk,服务器端怎么写,官方的实在看不懂?

问题描述 关于开发android,ios应用,使用paypal的sdk,服务器端怎么写,官方的实在看不懂? 目前正在做一个项目,涉及到支付,用的是paypal支付,官方给点服务端的sdk实在看不懂,用没有用过paypal的朋友,求帮助.

android 写网络图片查看器,代码看不出错,但就是结果不对,新手求帮助,帮忙挑挑错。

问题描述 android 写网络图片查看器,代码看不出错,但就是结果不对,新手求帮助,帮忙挑挑错. 我反复检查了好几遍,感觉写的都正确.就是运行时没结果. 我打算访问的图片是自己创建的web工程上的图片,访问的地址也把localhost改为了相应的ip地址(ip是通过cmd->ipconfig查询得到) 我也添加了网络访问权限. 个人感觉不是布局导致的问题,因为程序运行后,那个吐司的报错一直都显示.如果是布局有问题,最多看不到图片. 感觉把该注意的问题都注意到了,但是还是运行有问题,希望各位大大

struct-下面实现算术优先级算法的代码怎么输不出结果?实在找不出错,请大神指导

问题描述 下面实现算术优先级算法的代码怎么输不出结果?实在找不出错,请大神指导 #include #include #define ok 1 #define ERROR 0 char an[7]={'+','-','*','/','(',')','='}; unsigned char Prior[7][7]= { // '+' '-' '*' '/' '(' ')' '=' /*'+'*/'>','>','<','<','<','>','>', /*'-'*/'&

printf-谁能给这个C程序加一点注释?实在看不懂

问题描述 谁能给这个C程序加一点注释?实在看不懂 long a=10000,b,c=2800,d,e,f[2801],g; main() { for(;b-c;) f[b++]=a/5; for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a) for(b=c;d+=f[b]*a;f[b]=d%--g,d/=g--,--b;d*=b); scanf("%s"); } 解决方案 http://zhidao.baidu.com/l

新手看不懂php在浏览器中调试的出错信息 ,求帮解释

问题描述 新手看不懂php在浏览器中调试的出错信息 ,求帮解释 本人小白,刚开始自学,照书上写个简单的博客的例子,xampp+phpstorm,然后一运行出来这些信息,求高人帮忙看看. PS:例程用到MySQL,我确定数据库连接成功了,在这些信息底下显示的是查询语句的输出结果,也确定没问题,只是中间夹了这么一段完全不知道是什么意思,求高人指点. 再PS:我的phpmyadmin没法用,点啥都显示loading,不知有没有关系 解决方案 貌似是内存的错误,你打印一下错误然后再试试

java-求poi中文api 跪谢 英文太差了 实在看不懂

问题描述 求poi中文api 跪谢 英文太差了 实在看不懂 最近跟微软的office杠上了 如题 有的麻烦给我个链接 感激不尽 解决方案 http://www.docin.com/p-4556557.html 中文文档 解决方案二: POI操作Excel:http://blog.csdn.net/hekewangzi/article/category/5698027 解决方案三: http://wenku.baidu.com/link?url=qvqsxCHV0OlZ3PCh6xzfFefUlY