Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

VC .NETÖÐString^ ÓëANSI C char*»¥×ª

VC.NETÖеÄStringÀàÊÇÀûÓÃUnicode×Ö·û¼¯±àÂëÀ´±íʾÎı¾¡£Unicode×Ö·û¼¯ÖÐÿ¸ö×Ö·û(ºº×Ö¡¢Ó¢ÎÄ×Öĸ)¶¼Õ¼2¸ö×Ö½Ú£¬ÇÒÆä×Ö·û´®ÊÇÒÔ2¸öÁ¬ÐøµÄ\0½áβµÄ¡£
ANSIµÄASCII×Ö·û¼¯ÊÇ×î³£¼ûµÄ×Ö·û¼¯£¬³£ÓÃÓÚ±íʾtxtµÄÎı¾Îļþ¡£ÔÚASCII×Ö·û¼¯ÖÐÓ¢ÎÄÕ¼Ò»¸ö×Ö½Ú£¬ºº×Ö2¸ö×Ö½Ú£¬ÇÒÆä×Ö·û´®ÊÇÒÔÒ»¸ö\0½áβµÄ¡£
ÔÚÀûÓÃVC.NET½øÐлìºÏ±à³Ìʱ£¬¾­³£ÐèҪʵÏÖStringÓëchar*µÄ»¥×ª£¬ÀýÈçÔÚTextBox¿Ø¼þÖÐÊäÈëµÄText×÷Ϊfopen»òÕßCreateFileµÄÎļþÃû²ÎÊýʱ£¬³£ÐèҪʵÏÖchar*µÄת»¯¡£¹ÊÌṩÈçϵÄת»¯·½·¨£º
 
 
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
 
 
int main(array<System::String ^> ^args)
{
 // String^ converts to char*
 
 char szDestOutChar[256];
 String^ SrcInStr = "C:\\Documents and Settings\\Adiminstrator\\ÎÒµÄÎĵµ\\swq.txt";
 int SourceStrLen = SrcInStr->Length;
 wchar_t *pwszStr = new wchar_t[SourceStrLen + 1];
 array <System::Char>^ pClr = SrcInStr->ToCharArray();
 for (int i = 0; i < SourceStrLen; i++)
 {
   pwszStr[i] = pClr[i];
 }
 pwszStr[SourceStrLen] = '\0';
 ::WideCharToMultiByte(CP_ACP, NULL, pwszStr, -1, szDestOutChar, 256, NULL, NULL);
 
 // char* converts to String^ 
 
 char* szInSrcChar =  "C:\\Documents and Settings\\Adiminstrator\\ÎÒµÄÎĵµ\\swq.txt";
 int wcsLen = ::MultiByteToWideChar(CP_ACP, NULL, szInSrcChar, strlen(szInSrcChar), NULL, 0);
 wchar_t* wszStr = new wchar_t[wcsLen + 1];
 ::MultiByteToWideChar(CP_ACP, NULL, szInSrcChar, strlen(szInSrcChar), wszStr, wcsLen);
 wszStr[wcsLen] = '\0';
 String^ ClrOutStr = gcnew String(wszStr);
 
 System::Console::WriteLine("Press ENTER key to exit !");
 System::Console::Read();
 
 delete pwszStr;
 delete wszStr;
 return 0;
}


Ïà¹ØÎĵµ£º

C++ÖÐextern ¡°C¡±º¬ÒåÉî²ã̽Ë÷

(ת)C++ÖÐextern “C”º¬ÒåÉî²ã̽Ë÷
 
 
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏó&rdquo ......

ÓÃC APIÔÚNotesÖÐʵÏÖ½ø¶ÈÌõ

ÔÚNotes  µÄC/S  ±à³ÌÖУ¬¾­³£ÐèÒª¶ÔÒ»¸ö¼¯ºÏÖеĶÔÏó½øÐбéÀú´¦Àí£¬ÕâʱÈç¹ûÄÜÏÔʾһ¸ö½ø¶ÈÌõָʾµ±Ç°´¦Àí½ø³Ì£¬¾Í±È½ÏÖ±¹ÛÐÎÏ󣬿ͻ§½çÃæÒ²±È½ÏÓѺᣠ   
 1¡¢ÉùÃ÷APIº¯Êý 
  'ÉùÃ÷APIº¯Êý 
  Declare  Function  NEMProgressBegin  Lib&nbs ......

extern "C"Ïê½â

 Ê±³£ÔÚcppµÄ´úÂëÖ®Öп´µ½ÕâÑùµÄ´úÂë: 
#ifdef __cplusplus 
extern "C" { 
#endif 
//Ò»¶Î´úÂë 
#ifdef __cplusplus 

#endif 
¡¡¡¡ÕâÑùµÄ´úÂëµ½µ×ÊÇʲôÒâË¼ÄØ£¿Ê×ÏÈ£¬__cplusplusÊÇcppÖеÄ×Ô¶¨Òåºê£¬ÄÇô¶¨ÒåÁËÕâ¸öºêµÄ»°±íʾÕâÊÇÒ ......

C/C++——С±à̸CÓïÑÔº¯ÊýÄÇЩÊÂ(7)

C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
1.       fgetcº¯Êý
fgetcº¯ÊýµÄ¹¦ÄÜÊÇ´ÓÁ÷ÖжÁÈ¡×Ö·û£¬ÆäÓ÷¨ÊÇ£ºint fgetc(FILE *stream); ³ÌÐòÀý×ÓÈçÏ£º
#include <string.h ......

CÎļþÖÐÒýÓÃCPPÎļþʱµÄÎÊÌâ


unzip.c
ÖÐÒýÓÃvalidate.cpp
ÎļþÖеĺ¯ÊýÀ´½øÐÐepub
¾À´í£¬²úÉúµÄÎÊÌ⣺
1.    
validate.cpp
ÖÐʹÓÃiostream.h,
µ«ÊÇC
ÖÐûÓÐÕâ¸öÎļþ
£¬ËùÒÔ²úÉúµÄ´íÎó£º
2>
ÕýÔÚ±àÒë...
2>unzip.c
2>D:\Program
Files\VC\include\cstdio(25) : error C2143:
Óï·¨´íÎó:
ȱÉÙ“{ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ