cstring相关内容
我的代码段错误,我不知道为什么. 1 #include 23 无效覆盖(字符 str[],字符 x){4个整数i;5 for (i = 0; str[i] != '\0'; i++)6 str[i] = x;7 }89 int main(void) {10 字符 *s = "abcde";11 字符 x = 'X';12 次覆盖(s,x);13 printf("%s\n",
..
如果我使用这样的 CString: void myFunc(char *str){CString s(str);//用 CString 操作其他数据//...//完成的//我应该以某种方式删除's'以避免内存泄漏吗?} 一旦函数超出范围,字符串是否会被删除? 另外,我知道 new 关键字分配内存,如果我构造一个没有 new 关键字的对象,内存仍然分配吗?我的直觉告诉我是的,但我想验证一下
..
在 MFC 中使用 C++.来自 C# 背景,我通常只对所有字符串使用字符串.我将它们用于类成员、方法参数和方法返回值. 现在在 C++ 中,我有 std::string、CString、char *、LPCTSTR 等等.当我设计我的数据成员、方法参数和方法返回值时,我应该使用哪种类型?易用性很重要,CString 似乎提供了这一点,但我的直觉是倾向于可移植标准,尽管可移植性在我的优先级列
..
假设我有一个带有字符串“Bob Evans"的 CString 变量.我想从位置 4 复制到原始 CString 的末尾到一个新的 CString,但是我找不到为此的语义示例: CString original("Bob Evans");//下面是我想要做的//CString newStr = original.copy(4, original.GetLength()); 我也考虑过将变量 o
..
我们在大部分代码中都使用 CString 类.但是有时我们需要转换为 char *.目前我们一直在使用 variable.GetBuffer(0) 来做这件事,这似乎有效(这主要发生在将 Csting 传递到函数需要 char * 的函数时).该函数接受这一点,我们继续前进. 然而,我们最近开始担心这是如何运作的,以及是否有更好的方法来做到这一点. 我理解它的工作方式是将一个字符指针传
..
“T"在字符串中代表什么.例如 _T("Hello").我在需要 unicode 支持的项目中看到过这个.它实际上告诉处理器的内容 解决方案 _T 代表“文本".当且仅当您使用 Unicode 支持编译源代码时,它才会将您的文字转换为 Unicode 宽字符文字.请参阅 http://msdn.microsoft.com/en-us/library/c426s321.aspx.
..
从ATL Internals一书中,我知道BSTR与OLECHAR*不同,BSTR有CComBSTR和CString. 根据 MSDN 分配和释放内存对于 BSTR,我知道调用者/被调用者的内存管理责任. 从 MSDN 中获取这一行, HRESULT CMyWebBrowser::put_StatusText(BSTR bstr) 我仍然不知道如何在我的实现中正确处理 bs
..
如何使用 WriteFile Win32 API 函数将 CString 实例的内容写入 CreateFile 打开的文件中? 请注意未使用 MFC,通过包含“atlstr.h"使用 CString 编辑:我可以吗 WriteFile(handle, cstr, cstr.GetLength(), &dwWritten, NULL); 或 WriteFile(handle, cs
..
鉴于项目的编码可能是 Unicode(但不确定),将 ATL::CString 转换为 QString 的最佳方法是什么? 我想到的是: CString c(_T("SOME_TEXT"));//...std::basic_string中间((LPCTSTR)c);QString q;#ifdef _UNICODEq = QString::fromStdWString(intermedia
..
我最近在理解 char* 方面遇到了很大的问题.假设我创建了一个递归函数来恢复 char* 但根据我如何初始化它,我会遇到一些访问冲突,并且在我的 C++ 入门中我没有找到任何给我正确理解路径的东西所以我在寻求你的帮助. 案例 1在尝试交换字母时遇到访问冲突的第一种情况: char * bob = "你好"; CASE 2 然后我尝试了这个来让它工作 char * bob = new
..
有人可以解释为什么我在使用以下g ++编译器编译源代码时出现此错误 #include#include使用命名空间std;int main(){char source_language [50];scanf(“%16s \ n",source_language);int长度= sizeof(source_language);int sizeofchar = s
..
我正在寻找一些包含VC ++ 6.0中与字符串相关的所有问题的列表,这些问题已在更高版本的Service Pack中修复,例如这个。有人可以在这方面帮助我吗? 我搜索的原因是:我们在基于VC ++ 6.0的产品中遇到了一些与字符串相关的问题。我正在寻找其他潜在问题。 谢谢。 解决方案 我意识到下载所有Service Pack可能很痛苦,但是无论如何,您应该只安装了所有SP即可运
..
给出以下C字符串: unsigned char * temp =(unsigned char *)[@“嘿,我有些通常的CString“ UTF8String] 如何用“ other”替换“ usual”以得到:“嘿,我是其他CString”。 我不能使用 NSString 函数( replaceCharactersInRange / replaceOccu
..
我将如何实现呢?我试图将c字符串数组与单个字符串进行比较,如果没有匹配项,则将其附加到2d数组。 char * mprt,uni [100] [16]; mprt =& uni [0] [0]; for(int s = 0; s
..
我想快速调用c ++函数 bool getId3Info(const char * filename,char * artist,char * title) { //获取文件的id3v2标记,写回信息 strcpy(artist,(const char *)id3v2tag-> artist()。toCString(true)); strcpy(title,id3v2tag->
..
我最近使用了一个小型MCF C ++应用程序,该应用程序显然处于工作状态。首先,我在代码上运行PC-Lint,lint抱怨将CStringT传递给Format。互联网上的意见分歧。有人说CSting旨在无错误地处理此用例,但其他人(还有 MSDN文章)说,在将其传递给变量参数函数时,应始终对其进行强制转换。可以在这个问题上达成Stackoverflow的共识吗? 解决方案 CString经
..
我正在用C ++编程。 作为这个问题的基本知识,我似乎无法在任何地方找到答案。所以这是问题所在: 我想创建一个C风格的字符串,但是我想将一个整数变量i放入字符串中。很自然地,我使用了一个流: stringstream foo; foo
..
很抱歉在SO上提出了另一个无法解决的问题,但我只是对C ++中所有不同字符串类型的优缺点感到好奇。我的特定问题是在MFC的CString和std :: string之间(因为我使用的是Windows专用软件),但这将扩展到C ++中的任何字符串格式。到底什么是C ++中使用的最佳字符串类型,为什么? 更新:我实际上发现了一个重复的问题。感谢那些已经回答过的人。请针对这个其他问题提出任何新的答
..
如果我使用这样的CString: void myFunc(char * str) { CString s(str); //使用CString处理其他数据 // ... //完成 //我应该以某种方式删除此处的's'以避免内存泄漏? } 函数超出范围后是否会删除字符串? 此外,如果我构造的对象没有 new new 关键字会分配内存。 / c
..
我有一个库,其功能如下: int get_user_name(const char ** buffer); 快速调用,应该像这样: var name:CMutablePointer = nil get_user_name(name) 我想使此功能使用起来更舒适,所以我包装了 func get_username()
..