社区
VC.NET
帖子详情
请大家帮我看一看这一小段程序错在什么地方!
mingpingzhang
2004-12-23 05:37:11
#include "stdafx.h"
int main()
{
TCHAR ch;
LPTSTR A="a";
LPTSTR B="B";
LPTSTR C=lstrcat(A,B);
std::cout<<C<<std::endl;
std::cin>>ch;
//std::cout<<GetDriveType("F:");
return 0;
}
刚学VC,却连一个字符串连接操作都搞不定,直让人伤心,灰心。
...全文
151
10
打赏
收藏
请大家帮我看一看这一小段程序错在什么地方!
#include "stdafx.h" int main() { TCHAR ch; LPTSTR A="a"; LPTSTR B="B"; LPTSTR C=lstrcat(A,B); std::cout<<C<>ch; //std::cout<<GetDriveType("F:"); return 0; } 刚学VC,却连一个字符串连接操作都搞不定,直让人伤心,灰心。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
somedummy
2004-12-25
打赏
举报
回复
直接写std::string mystr=SourceStr;
这样的话会调用std::string::string(const char*),这样的话就可以通过C风格的字符串构造一个std::string对象了
mingpingzhang
2004-12-25
打赏
举报
回复
如果我使用std::string,请问如何将WIN32 API返回的LPSTR或LPTSTR转为std::string.
somedummy
2004-12-24
打赏
举报
回复
调用strcpy应该是这样的
strcpy(A,"Hello");
你不应该改变A的值,只要你一改变就有可能出错。
somedummy
2004-12-24
打赏
举报
回复
你还是搞错了,A="Hello"已经把A置为一个const char的指针了,你应该使用strcpy来向A里面写入字符串"Hello"
要不然你就要使用std::string,这个是C++里面标准的字符串(char*一族是C风格字符串的代表类型)。
不过对于std::string,原来的C风格的字符串函数就基本上都不能用了,不过可以使用C++标准库里面对string定义的一些重载的operator
mingpingzhang
2004-12-23
打赏
举报
回复
谢谢某人马甲
但是,设A,B两个都是较长的字符串,又该怎么进行
比如说:
#include <windows.h>
#include <iostream>
#include <tchar.h>
int main()
{
TCHAR ch;
LPTSTR A=new TCHAR[100];
A="Hello";
A[5]='\0';
LPTSTR B="B";
LPTSTR C=lstrcat(A,B);
std::cout<<C<<std::endl;
std::cin>>ch;
return 0;
}
依然出错,提示如下:
xxx.exe 中的 0x004323a1 处未处理的异常:0xC0000005: 写入位置 0x0048f0c1 时发生访问冲突 。
C语言的字符处理不会都这么麻烦吧?
somedummy
2004-12-23
打赏
举报
回复
是lstrcat的问题
strcat这一组函数(包括strcat、wcscat、lstrcat)需要用户来分配空间保证连接字符串可以进行的
你需要这样LPTSTR A=new TCHAR[100];
A[0]='A';A[1]='\0';
然后strcat就可以了
proinfor
2004-12-23
打赏
举报
回复
有#include"iostream.h"
mingpingzhang
2004-12-23
打赏
举报
回复
#include <windows.h>
#include <iostream>
#include <tchar.h>
int main()
{
TCHAR ch;
LPTSTR A="a";
LPTSTR B="B";
LPTSTR C=lstrcat(A,B);
std::cout<<C<<std::endl;
std::cin>>ch;
//std::cout<<GetDriveType("F:");
return 0;
}
还是出错,提示如下:
xxx.exe 中的 0x004656b0 处未处理的异常:0xC0000005: 读取位置 0x00000000 时发生访问冲突 。
somedummy
2004-12-23
打赏
举报
回复
TCHAR用来实现Unicode和ANSI字符转换的时候需要加入TChar.h才行
somedummy
2004-12-23
打赏
举报
回复
你只包含了stdafx.h,这个是给MFC应用程序用的,找到到LPTSTR这样的类型,TCHAR需要包含专用的头文件才行
UG 2023 64bit 64 位系统设计软件.rar
UG NX 2023(Unigraphics NX,中文名交互式 CAD/CAM 系统),是西门子 Siemens PLM Software 研发的 CAD/CAE/CAM 一体化产品工程解决方案,提供全套数字化造型与仿真验证手段。软件功能强悍,可轻松完成各类复杂实体、曲面造型构建,广泛应用于机械装备、塑胶模具、汽车零部件、航空航天、数控加工、钣金设计等工业领域。 软件仅支持 Win10、Win11 64 位系统,不再兼容 Win7,硬件配置要求适中。软件集三维建模、工程制图、数控编程、力学与运动仿真等功能于一体,可兼容各类主流设计文件格式。 该版本优化了装配加载速度、曲面建模能力与刀路算法,运行稳定,是当下行业主流版本。 由于安装包文件过大,CSDN 无法直接上传,附件提供下载链接及配套安装教程,欢迎下载使用。
vivado XADC IP核使用教程
vivado XADC IP核使用教程
64 位 NX2023 UG 主流行业版本 无偿持续分享.rar
UG(Unigraphics NX)是一款由西门子(Siemens PLM Software)开发的交互式CAD/CAM/CAE系统。作为全球领先的产品工程解决方案,它集成了产品设计、工程仿真与制造加工于一体。其功能强大且应用广泛,能够轻松实现各种复杂实体和造型的构造,为模具、汽车、航空航天及通用机械等行业提供了高性能的机械设计与制图灵活性。
【变压器的开路试验】变压器进行开路试验时的电路连接配置(Simulink仿真实现)
内容概要:本文详细介绍了利用Simulink进行变压器开路试验的电路连接配置与仿真实现方法,重点在于通过仿真手段还原实际电力系统中变压器在空载条件下的电气特性,从而深入理解其工作原理与性能表现。文章作为电力系统仿真系列研究的一部分,系统阐述了从电路模型搭建、参数设定、仿真运行到结果分析的完整流程,突出展示了MATLAB/Simulink在电力设备建模与教学科研中的强大功能与应用价值。; 适合人群:具备电力系统基础知识,熟悉MATLAB/Simulink仿真环境,从事电气工程、自动化及相关领域的研发人员,以及高年级本科生和研究生。; 使用场景及目标:①掌握变压器开路试验的基本原理与Simulink仿真建模的具体步骤;②通过仿真实验深入理解空载电流、铁芯损耗及励磁特性等关键参数的物理意义;③为后续开展变压器短路试验、暂态过程分析以及其他电力设备的仿真研究奠定理论与实践基础。; 阅读建议:建议结合Simulink软件动手实践,逐步构建并调试电路模型,重点关注各元件参数的设置方法与测量模块的应用技巧,同时推荐参考文中提及的其他相关仿真案例进行拓展学习,以全面提升对电力系统仿真实践的整体认知与操作能力。
SoloBlog.zip
SoloBlog.zip
VC.NET
7,539
社区成员
27,670
社区内容
发帖
与我相关
我的任务
VC.NET
.NET技术 VC.NET
复制链接
扫一扫
分享
社区描述
.NET技术 VC.NET
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章