- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试运行以下代码
TCHAR* str1 = TEXT("C:\\Program Files\\Internet Explorer;");
const TCHAR* del = TEXT(";");
TCHAR* token = _tcstok(str1, del);
当我在 VS 2010 中运行它时,出现以下异常:
String_Tchars.exe 中 0x10275af4 (msvcr100d.dll) 的未处理异常:0xC0000005:访问冲突写入位置 0x0041839c。
我的目标是能够得到分号“;”之前的部分然后附加到该标记以获取最终字符串作为 c:\Program Files\Internet Explorer\iexplore.exe
有人可以阐明导致此异常的原因吗?
最佳答案
您只能使用 strtok()
(及其 Windows 亲戚)具有可修改的字符串。所以让你的字符串成为本地字符数组:
TCHAR str1[] = TEXT("C:\\Program Files\\Internet Explorer;");
TCHAR* token = _tcstok(str1, ";");
// etc.
tokenizer 函数实际上通过用空字节替换定界符来修改字符串,因此您无法在只读字符串上使用它。
如果您的字符串是通过指向常量的指针传递给您的,请先将其复制到本地数组(例如复制到 std::vector<TCHAR>
):
void foo(const TCHAR * str)
{
std::vector<TCHAR> s(str, _tcslen(str) + 1); // local copy, includes null terminator
TCHAR * str1 = s.data(); // or &s[0]
TCHAR* token = _tcstok(str1, ";");
// ...
}
关于c++ - 在 C++ 中使用 _tcstok 时出现 AccessViolation 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7420373/
此 WPF 应用以 .NET 3.5 为目标,并使用 Visual Studio 2010 的 4.0 工具构建(csc.exe 版本为 4.0.30319.1)。 我不确定我看到的这个异常是怎么回事
这个问题已经有答案了: error in Delphi loadlibrary() (1 个回答) 已关闭10 年前。 我正在尝试在我的 Delphi 项目中加载一个库,该库可以位于两个位置。因此,要
我有一个问题。我正在写入日志文件,但是当我写入时应用程序抛出: **** 中发生类型为“System.AccessViolationException”的未处理异常 附加信息:试图读取或写入 prot
我有一个 Windows 窗体,上面有一些数字(此时只有一个数字)并定期刷新它们(数字是随机生成的)。更新过程与应用程序在一个单独的线程中进行,因此表单可以接收用户单击按钮、调整窗口大小等事件。主要方
当非 UI 线程尝试将其输出附加到 RichTextBox 时,会发生难以跟踪的异常主线程中的 UI 控件。 此异常随机发生,主要是在线程快速连续调用此方法时。它甚至发生在 2 个非 UI 线程中。
我想使用 LockBits 方法更快地比较相似图像,如下所示 using System; using System.Drawing; using System.Drawing.Imaging; usi
我目前正在研究一种解决方案,使错误更易于调试。 所以我有一个已经定义好的 main 并且用户需要定义 wrappermain 来代替 main 的使用: int main(int ac, char**
在各种异步 TCP 操作期间,我不断收到未处理的 AccessViolationException。该异常仅出现在内置函数的反汇编窗口中System.Threading._IOCompletionCa
我正在开发 Windows Phone 8.1 通用应用程序并遇到以下问题。 该应用程序有许多 View 及其相应的 Caliburn.Micro ViewModel,其中两个包含一个 MapCont
我在我的应用程序中使用了第三方工具。在某些系统上,我收到 System.AccessViolation 错误。虽然,通过代码我无法重现该问题。但在生产环境中它有时会重现。 我对下面的代码有疑问 pub
我的表单上有一个 AxWMPLib.AxWindowsMediaPlayer。当我关闭表单时,我收到“尝试读取或写入 protected 内存。这通常表明其他内存已损坏。”异常(exception)。
文件中存在类型为 SECURITY_IDENTIFIER 结构的对象。我需要从此结构中获取所有者 SID。为此,我调用 GetSecurityDescriptorOwner WinAPI 函数并创建
我正在创建 box2d 多边形,我想在将夹具附加到主体的方法之外创建夹具,但是当我这样做时,我遇到了访问冲突。 我已经逐步完成了代码,box2d 肯定正在获取 fixture 对象。 当我在方法内将夹
到目前为止,我可以追踪我在 cocos2dx 应用程序中遇到的每一个错误/崩溃,但现在我觉得自己很笨。我有一个 CCSprite 指针数组,我想做的是在玩家得分为 x 时从缓存中更改它的显示帧。 所有
我在函数中设置两个 XMMATRIX** 类型的变量时遇到了一些问题。函数原型(prototype)如下所示: bool ViewportFactory::CreateViewport(CanvasH
如何在 try-catch 块中捕获 AccessViolation 异常: 这是下面的代码: public static BP GetBloodPressure(string vendorid, s
我在尝试使用 Delphi(Turbo Delphi 2006)程序中用 C++ 编写的 DLL 时遇到了一个奇怪的问题。 当我从命令行运行 Delphi 程序(见下文)时,一切正常。另外,当我在没有
我正在尝试运行以下代码 TCHAR* str1 = TEXT("C:\\Program Files\\Internet Explorer;"); const TCHAR* del = TEXT
我在从 C# 调用 C DLL 时遇到问题 C 函数是(我没有 c 头文件或一个很好的规范:( ) int knr12_read ( char *kn12, char *ik9, char *wok,
我尝试使用 Visual Studio 2013 为 x64 构建我的 Win32 API 项目。但是路由的 WindowProc 回调无法正常工作。我将 SetWindowLongPtr/GetWi
我是一名优秀的程序员,十分优秀!