本文整理汇总了C++中CharNext函数的典型用法代码示例。如果您正苦于以下问题:C++ CharNext函数的具体用法?C++ CharNext怎么用?C++ CharNext使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了CharNext函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: _ASSERTE
HRESULT CComModule::RegisterTypeLib()
{
USES_CONVERSION;
_ASSERTE(m_hInst != NULL);
TCHAR szModule[_MAX_PATH+4];
TCHAR szDir[_MAX_PATH];
GetModuleFileName(GetTypeLibInstance(), szModule, _MAX_PATH);
CComPtr<ITypeLib> pTypeLib;
HRESULT hr = LoadTypeLib(T2OLE(szModule), &pTypeLib);
if (!SUCCEEDED(hr))
{
// typelib not in module, try <module>.tlb instead
LPTSTR lpszExt = szModule + lstrlen(szModule);
for (LPTSTR lpsz = szModule; *lpsz != '\0'; lpsz = CharNext(lpsz))
{
if (*lpsz == '.')
lpszExt = lpsz;
}
_ASSERTE(lpszExt != NULL);
lstrcpy(lpszExt, _T(".tlb"));
hr = LoadTypeLib(T2OLE(szModule), &pTypeLib);
}
if (SUCCEEDED(hr))
{
int nLen = lstrlen(szModule) - AtlGetFileName(szModule, NULL, 0);
lstrcpy(szDir, szModule);
szDir[nLen] = 0;
return ::RegisterTypeLib(pTypeLib, T2OLE(szModule), T2OLE(szDir));
}
return S_FALSE;
}
开发者ID:mingpen,项目名称:OpenNT,代码行数:31,代码来源:atlimpl.cpp
示例2: FindOneOf
LPCTSTR FindOneOf(LPCTSTR p1, LPCTSTR p2)
{
while (p1 != NULL && *p1 != NULL)
{
LPCTSTR p = p2;
while (p != NULL && *p != NULL)
{
if (*p1 == *p)
return CharNext(p1);
p = CharNext(p);
}
p1 = CharNext(p1);
}
return NULL;
}
开发者ID:AlexS2172,项目名称:IVRM,代码行数:15,代码来源:hyperfeedproviders.cpp
示例3: WinMain
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
DWORD Ret;
STARTUPINFO si = {0};
PROCESS_INFORMATION pi = {0};
char command_line[1024];
char seekchar=' ';
char *cmdline;
si.cb = sizeof(si);
// Make child process use this app's standard files. Not needed because the handles
// we created when executing this process were inheritable.
//si.dwFlags = STARTF_USESTDHANDLES;
//si.hStdInput = GetStdHandle (STD_INPUT_HANDLE);
//si.hStdOutput = GetStdHandle (STD_OUTPUT_HANDLE);
//si.hStdError = GetStdHandle (STD_ERROR_HANDLE);
lstrcpyn(command_line, GetCommandLine(), 1024);
cmdline = command_line;
if (*cmdline == '\"') seekchar = *cmdline++;
while (*cmdline && *cmdline != seekchar) cmdline=CharNext(cmdline);
cmdline=CharNext(cmdline);
// skip any spaces before the arguments
while (*cmdline && *cmdline == ' ') cmdline++;
Ret = CreateProcess (NULL, cmdline,
NULL, NULL,
TRUE, 0,
NULL, NULL,
&si, &pi
);
if (Ret)
{
WaitForSingleObject(pi.hProcess, INFINITE);
GetExitCodeProcess(pi.hProcess, &Ret);
CloseHandle (pi.hProcess);
CloseHandle (pi.hThread);
ExitProcess(Ret);
}
else
{
ExitProcess(STATUS_ILLEGAL_INSTRUCTION);
}
return 0; // dummy
}
开发者ID:kichik,项目名称:nsis-1,代码行数:48,代码来源:nsexec.c
示例4: push_include_cygwin
static void
push_include_cygwin(const char *path, VALUE (*filter)(VALUE))
{
const char *p, *s;
char rubylib[FILENAME_MAX];
VALUE buf = 0;
p = path;
while (*p) {
unsigned int len;
while (*p == ';')
p++;
if (!*p) break;
for (s = p; *s && *s != ';'; s = CharNext(s));
len = s - p;
if (*s) {
if (!buf) {
buf = rb_str_new(p, len);
p = RSTRING_PTR(buf);
}
else {
rb_str_resize(buf, len);
p = strncpy(RSTRING_PTR(buf), p, len);
}
}
if (cygwin_conv_to_posix_path(p, rubylib) == 0)
p = rubylib;
push_include(p, filter);
if (!*s) break;
p = s + 1;
}
}
开发者ID:Netfart,项目名称:rhodes,代码行数:32,代码来源:ruby.c
示例5: CharFirst
VOID ACLStr::RTrim(VOID)
{
LPTSTR string = CharFirst();
LPTSTR lastWhiteSpace = NULL;
// Loop over the string looking
// for white spaces. We start at the
// front since we want to be DBCS compatible.
// At least that's the HOPE! :-)
while(*string != '\0')
{
if (*string == CH_SPACE)
{
if (lastWhiteSpace == NULL)
{
lastWhiteSpace = string;
}
}
else
lastWhiteSpace = NULL;
// Bump our current pointer to the next
// character in the stream.
//
string = CharNext();
} // while.
// Move the NULL terminator to the
// new location.
if (lastWhiteSpace != NULL)
{
*lastWhiteSpace = '\0';
_length = (lastWhiteSpace - _string);
}
} // RTrim
开发者ID:Fahrni,项目名称:ACLLib,代码行数:35,代码来源:ACLStr.cpp
示例6: FindFormat
/*--------------------------------------------------
--------------------------------------- Check Format
--------------------------------------------------*/
DWORD FindFormat(const char* fmt)
{
DWORD ret = 0;
while(*fmt) {
if(*fmt == '"') {
do{
for(++fmt; *fmt&&*fmt++!='"'; );
}while(*fmt == '"');
if(!*fmt)
break;
}
else if(*fmt == 's') {
fmt++;
ret |= FORMAT_SECOND;
}
else if(*fmt == 'T' && strncmp(fmt, "TIME", 4) == 0) {
fmt += 4;
ret |= FORMAT_SECOND;
}
else if(*fmt == '@' && fmt[1] == '@' && fmt[2] == '@') {
fmt += 3;
if(*fmt == '.' && fmt[1] == '@') {
ret |= FORMAT_BEAT2;
fmt += 2;
} else ret |= FORMAT_BEAT1;
}
else fmt = CharNext(fmt);
}
return ret;
}
开发者ID:dubepaul,项目名称:T-Clock,代码行数:37,代码来源:format.c
示例7: add_title
/*-------------------------------------------
パス名にファイル名をつける
---------------------------------------------*/
void add_title(char *path, char *title)
{
char *p;
p = path;
if(*title && *(title + 1) == ':') ;
else if(*title == '\\')
{
if(*p && *(p + 1) == ':') p += 2;
}
else
{
while(*p)
{
if((*p == '\\' || *p == '/') && *(p + 1) == 0)
{
break;
}
p = (char *)CharNext(p);
}
*p++ = '\\';
}
while(*title) *p++ = *title++;
*p = 0;
}
开发者ID:Nikers,项目名称:T-Clock,代码行数:29,代码来源:UTL.C
示例8: WordCmpI
static int WordCmpI(LPCTSTR psz1, LPCTSTR psz2) throw()
{
TCHAR c1 = (TCHAR)CharUpper((LPTSTR)*psz1);
TCHAR c2 = (TCHAR)CharUpper((LPTSTR)*psz2);
while (c1 != NULL && c1 == c2 && c1 != ' ' && c1 != '\t')
{
psz1 = CharNext(psz1);
psz2 = CharNext(psz2);
c1 = (TCHAR)CharUpper((LPTSTR)*psz1);
c2 = (TCHAR)CharUpper((LPTSTR)*psz2);
}
if ((c1 == NULL || c1 == ' ' || c1 == '\t') && (c2 == NULL || c2 == ' ' || c2 == '\t'))
return 0;
return (c1 < c2) ? -1 : 1;
}
开发者ID:gvsurenderreddy,项目名称:VirtualBox-OSE,代码行数:16,代码来源:svcmain.cpp
示例9: translate_char
static inline void
translate_char(char *p, int from, int to)
{
while (*p) {
if ((unsigned char)*p == from)
*p = to;
p = CharNext(p);
}
}
开发者ID:Netfart,项目名称:rhodes,代码行数:9,代码来源:ruby.c
示例10: _get_cmd_arg
TCHAR *
_get_cmd_arg(TCHAR *pCmdLine)
{
static TCHAR *pArgs = NULL;
TCHAR *pRetArg;
BOOL bQuoted;
if (!pCmdLine && !pArgs)
return NULL;
if (!pArgs)
pArgs = pCmdLine;
/* skip whitespace */
for (pRetArg = pArgs; *pRetArg && _istspace(*pRetArg);
pRetArg = CharNext(pRetArg))
;
if (!*pRetArg) {
pArgs = NULL;
return NULL;
}
/* check for quote */
if (*pRetArg == TEXT('"')) {
bQuoted = TRUE;
pRetArg = CharNext(pRetArg);
pArgs = _tcschr(pRetArg, TEXT('"'));
} else {
/* skip to whitespace */
for (pArgs = pRetArg; *pArgs && !_istspace(*pArgs);
pArgs = CharNext(pArgs))
;
}
if (pArgs && *pArgs) {
TCHAR *p;
p = pArgs;
pArgs = CharNext(pArgs);
*p = (TCHAR) 0;
} else {
pArgs = NULL;
}
return pRetArg;
}
开发者ID:Elronnd,项目名称:nethack-360-nao,代码行数:44,代码来源:winhack.c
示例11: FindChar
LPTSTR FindChar(LPTSTR lpsz, TCHAR ch)
{
while (*lpsz != 0)
{
if (*lpsz == ch)
return lpsz;
lpsz = CharNext(lpsz);
}
return NULL;
}
开发者ID:mingpen,项目名称:OpenNT,代码行数:10,代码来源:utility.cpp
示例12: FindReverseChar
LPTSTR FindReverseChar(LPTSTR lpsz, TCHAR ch)
{
LPTSTR lpszLast = NULL;
while (*lpsz != 0)
{
if (*lpsz == ch)
lpszLast = lpsz;
lpsz = CharNext(lpsz);
}
return lpszLast;
}
开发者ID:mingpen,项目名称:OpenNT,代码行数:11,代码来源:utility.cpp
示例13: HasBlanks
BOOL HasBlanks(
LPTSTR psz)
{
while (*psz) {
if (*psz == CHAR_SPACE)
return TRUE;
else
psz = CharNext(psz);
}
return FALSE;
}
开发者ID:mingpen,项目名称:OpenNT,代码行数:12,代码来源:util.c
示例14: AtlGetFileName
static UINT PASCAL AtlGetFileName(LPCTSTR lpszPathName, LPTSTR lpszTitle, UINT nMax)
{
_ASSERTE(lpszPathName != NULL);
// always capture the complete file name including extension (if present)
LPTSTR lpszTemp = (LPTSTR)lpszPathName;
for (LPCTSTR lpsz = lpszPathName; *lpsz != '\0'; lpsz = CharNext(lpsz))
{
// remember last directory/drive separator
if (*lpsz == '\\' || *lpsz == '/' || *lpsz == ':')
lpszTemp = (LPTSTR)CharNext(lpsz);
}
// lpszTitle can be NULL which just returns the number of bytes
if (lpszTitle == NULL)
return lstrlen(lpszTemp)+1;
// otherwise copy it into the buffer provided
lstrcpyn(lpszTitle, lpszTemp, nMax);
return 0;
}
开发者ID:mingpen,项目名称:OpenNT,代码行数:21,代码来源:atlimpl.cpp
示例15: lstrncmpi
static int lstrncmpi (LPCTSTR pszA, LPCTSTR pszB, size_t cch)
{
if (!pszA || !pszB)
{
return (!pszB) - (!pszA); // A,!B:1, !A,B:-1, !A,!B:0
}
for ( ; cch > 0; cch--, pszA = CharNext(pszA), pszB = CharNext(pszB))
{
TCHAR chA = toupper( *pszA );
TCHAR chB = toupper( *pszB );
if (!chA || !chB)
return (!chB) - (!chA); // A,!B:1, !A,B:-1, !A,!B:0
if (chA != chB)
return (int)(chA) - (int)(chB); // -1:A<B, 0:A==B, 1:A>B
}
return 0; // no differences before told to stop comparing, so A==B
}
开发者ID:bagdxk,项目名称:openafs,代码行数:21,代码来源:drivemap.cpp
示例16: rubylib_mangled_path
static VALUE
rubylib_mangled_path(const char *s, unsigned int l)
{
static char *newp, *oldp;
static int newl, oldl, notfound;
char *ptr;
VALUE ret;
if (!newp && !notfound) {
newp = getenv("RUBYLIB_PREFIX");
if (newp) {
oldp = newp = strdup(newp);
while (*newp && !ISSPACE(*newp) && *newp != ';') {
newp = CharNext(newp); /* Skip digits. */
}
oldl = newp - oldp;
while (*newp && (ISSPACE(*newp) || *newp == ';')) {
newp = CharNext(newp); /* Skip whitespace. */
}
newl = strlen(newp);
if (newl == 0 || oldl == 0) {
rb_fatal("malformed RUBYLIB_PREFIX");
}
translate_char(newp, '\\', '/');
}
else {
notfound = 1;
}
}
if (!newp || l < oldl || STRNCASECMP(oldp, s, oldl) != 0) {
return rb_str_new(s, l);
}
ret = rb_str_new(0, l + newl - oldl);
ptr = RSTRING_PTR(ret);
memcpy(ptr, newp, newl);
memcpy(ptr + newl, s + oldl, l - oldl);
ptr[l + newl - oldl] = 0;
return ret;
}
开发者ID:Netfart,项目名称:rhodes,代码行数:39,代码来源:ruby.c
示例17: ModuleVersion
MODULEVERSION& ModuleVersion(HINSTANCE instance/* = 0*/)
{
static bool Initialized = false;
static MODULEVERSION g_ModuleVersion = { 0 };
if (!Initialized)
{
// Initialize Module version information
TCHAR szFileName[MAX_PATH];
DWORD dwLen;
BOOL bGotModuleVersion = FALSE;
if ((dwLen = GetModuleFileName(static_cast<HMODULE>(instance), szFileName, sizeof(szFileName))))
{
szFileName[dwLen] = '\0';
DWORD dwHandle, dwInfoLen;
if ((dwInfoLen = GetFileVersionInfoSize(szFileName, &dwHandle)))
{
char *szVersionBuffer = (char *)malloc(dwInfoLen);
if (GetFileVersionInfo(szFileName, dwHandle, dwInfoLen, szVersionBuffer))
{
VS_FIXEDFILEINFO *fi;
UINT uBlockLen;
if (VerQueryValue(szVersionBuffer, _T("\\"),
reinterpret_cast<LPVOID*>(&fi), &uBlockLen))
{
Initialized = true;
g_ModuleVersion.Major = fi->dwProductVersionMS >> 16;
g_ModuleVersion.Minor = fi->dwProductVersionMS & 0xff;
g_ModuleVersion.Release = fi->dwProductVersionLS >> 16;
g_ModuleVersion.Build = fi->dwProductVersionLS & 0xff;
// Get module path
g_ModuleVersion.ModuleFullPath = szFileName;
TCHAR *eop = _tcsrchr(szFileName, _T('\\')); // end of path
g_ModuleVersion.ModuleFileName = CharNext(eop); // beginning of the file name
*CharNext(eop) = _T('\0');
g_ModuleVersion.ModulePath = szFileName;
}
}
开发者ID:Erls-Corporation,项目名称:webinaria-source,代码行数:38,代码来源:VersionInfo.cpp
示例18: del_title
/*-------------------------------------------
パス名からファイル名をとりのぞく
---------------------------------------------*/
void del_title(char *path)
{
char *p, *ep;
p = ep = path;
while(*p)
{
if(*p == '\\' || *p == '/')
{
if(p > path && *(p - 1) == ':') ep = p + 1;
else ep = p;
}
p = (char *)CharNext(p);
}
*ep = 0;
}
开发者ID:Nikers,项目名称:T-Clock,代码行数:19,代码来源:UTL.C
示例19: pGetFilePart
PCTSTR WINAPI
pGetFilePart(
IN PCTSTR FilePath)
{
PCTSTR LastComponent = FilePath;
TCHAR CurChar;
while(CurChar = *FilePath) {
FilePath = CharNext(FilePath);
if((CurChar == TEXT('\\')) || (CurChar == TEXT('/')) || (CurChar == TEXT(':'))) {
LastComponent = FilePath;
}
}
return LastComponent;
}
开发者ID:tigtigtig,项目名称:ndas4windows,代码行数:16,代码来源:setupsup.cpp
示例20: WinMain
int WinMain(HINSTANCE hinst, HINSTANCE hinstPrev, LPSTR cmdLine, int nShow)
{
char buf[30];
if (!cmdLine || !cmdLine[0])
return 0;
LPSTR next = CharNext(cmdLine);
if (*next != 0)
{
OutputDebugString("Yes");
}
else
{
OutputDebugString("No");
}
return 0;
}
开发者ID:killbug2004,项目名称:reko,代码行数:16,代码来源:win32api.c
注:本文中的CharNext函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论