VC常見入門問題總結(一) (轉)
1:al error C1010: unexpected end of file while looking for precompiled header directive該如何解決
如果發生錯誤的是由其他的C程式碼檔案新增進入當前工程而引起的,則Alt+F7進入當前工程的Settings,選擇C/C++選項卡,從Category組合框中選中Precompiled Headers,選擇Not Using Precompiled headers。確定
如果發生錯誤的檔案原本是該工程中的,則檢查該檔案頭部有沒有#include "stdafx.h"語句,沒有的話新增。
如果還不行,也有可能是定義的類或結構體等最後忘了加分號,注意一下。
2:fatal error RC1015: cannot open include file 'afxres.h'.該如何解決
#include "afxres.h"語句是在.rc檔案中的,而afxres.h檔案在VC的目錄中的.VC98MFCINCLUDE目錄中,所以著重查一下Tools選單中Options對話方塊中的Directories中的包括檔案的路徑是否正確,是否在VC的安裝路徑中,不是的話,改過來,如果這方面沒問題,則到其他機器中複製afxres.h到相應的目錄中
3:Dll分配的塊,應用釋放,結果報異常。
用GlobalAlloc()代替new, 用GlobalFree() 代替delete就不會出錯了
其實還有一個辦法,就是把dll的Settings的C/C++選項卡的Code Generation的Use Run-time liberary改成De Multithreaded DLL,在Release版本中改成Multithreaded DLL,就可以直接使用new和delete了,沒問題
比較規範點的做法一般是DLL分配的記憶體由DLL釋放。在DLL中加一個釋放記憶體不是更好嗎。
4:發現列印預覽的圖形明顯比螢幕顯示圖形小,怎麼辦?
這多半是CDC對映的選擇引起的,預設狀態下,選擇的是MM_TEXT模式,MM_TEXT以裝置的畫素點為單位,而不同裝置的畫素點的大小不同,印表機的解析度比顯示器要高很多,所以導致同樣圖形在列印時候變小。解決之道是統一使用其他定長的對映模式,比如MM_HIMETRIC等等(CDC::SetMapMode()改變對映模式)
5:CString、char*、string、int、_bstr_t、CTime、COleDateTime等等的相互轉換,如何判斷一個字串是一個浮點數?
#include
using namespace std;
#include
{
CString strCString="ABC";
char strchar[256],*pstr;
pstr=(LPSTR)(LPCTSTR)strCString; >char*
strcpy(strchar,(LPSTR)(LPCTSTR)strCString); >char[]
_bstr_t strbstr=pstr; *---->_bstr_t
WCHAR *strWCHAR=strbstr; >UNICODE
strbstr=strWCHAR;
pstr=strbstr; >char*
strCString="10";
int istr=atoi((LPSTR)(LPCTSTR)strCString); 、char[]、char*------>int
strCString.Format("%d",istr); >CString
sprintf(strchar,"%d",istr); >char[]
pstr=new char[256]; 符串申請空間
strcpy(pstr,"ABC"); 符串賦值
delete []pstr; 符串釋放
string strstring="ABC";
pstr=(char*)strstring.c_str(); >char*
strCString="-10-27 6:24:37"; >COleDateTime
COleVariant vtime(strCString);
vtime.ChangeType(VT_DATE);
COleDateTime time4=vtime;
COleDateTime time1(1977,4,16,2,2,2); >CTime
SYSTEMTIME systime;
VariantTimeToSystemTime(time1, &systime);
CTime tm(systime);
time_t time2=tm.GetTime(); >time_t
COleDateTime time3(time2); >COleDateTime
斷字串是否是某種型別
CString sValue("123.1");
COleVariant vValue(sValue);
BOOL bStrIloat = (SUCCEEDED(VariantChangeType(&vValue, &vValue, 0, VT_R8)) && sValue.Find('.') != -1);
if(bStrIsFloat)
{
AfxMessageBox("浮點");
}
}
6:如何建立一個UNICODE應用程式?
建立一個應用程式,開啟Alt+F7 settings選項,選擇C/C++選項卡,在Preprocessor definenation中加上_UNICODE,在Link選項卡中,在Category選擇框中選擇Output,在Entry-point symbol編輯框中,新增wWinMainCRTStartup確定。
注意UNICODE程式時,需要在安裝時VC選擇所有選項,否則會缺少動態庫和相應的.lib檔案
7:ADO操作表,出現問題
在開啟資料庫前,新增如下語句試一下pRecordSet->CursorLocation = adUseClient;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-963480/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- VC常見入門問題總結(二) (轉)
- XML入門常見問題(3)(轉)XML
- XML入門常見問題(2)(轉)XML
- XML入門常見問題(1)(轉)XML
- 常見問題總結
- VC++初學者常見問題解惑 (轉)C++
- mysql常見問題總結MySql
- Vue 常見問題總結Vue
- TCP常見問題總結TCP
- GeoServer 常見問題總結Server
- 新手入門 Golang 常見問題Golang
- Flink 常見問題總結
- 前端常見JS問題總結前端JS
- Oracle EM 常見問題總結Oracle
- Kubernetes 常見問題總結
- 入門spring+quarts常見問題Spring
- 我的支付總結(三) 常見問題
- Nginx入門到實戰(4)常見問題Nginx
- 嘔心蒐集總結的15個“swoole”常見問題(一)
- 網路爬蟲常見問題(個人總結)爬蟲
- redis快取常見問題場景總結Redis快取
- 關於echarts使用的常見問題總結Echarts
- MyBatis學習總結(24)——Mybatis常見問題彙總MyBatis
- Webpack常見面試題總結Web面試題
- iOS常見面試題總結iOS面試題
- Redis常見問題彙總Redis
- Java 常見問題彙總Java
- Bootstrap常見問題彙總boot
- Spring Cloud中,Feign常見問題總結SpringCloud
- 【多執行緒】常見問題簡單總結執行緒
- Cocos平臺整合AGC常見問題總結GC
- 資料庫建模——powerdesiger常見問題總結資料庫
- 定位 UNIX 上常見問題的經驗總結
- Java程式設計常見問題彙總(一)Java程式設計
- 前端常見面試題少量總結前端面試題
- 代理IP常見問題彙總
- Redis Manager 常見問題彙總Redis
- SpringMvc常見問題彙總SpringMVC