【发布时间】:2018-06-07 02:28:09
【问题描述】:
大家好,我有一个问题,我的char arrays (strings) 不会显示超过318 characters 的任何内容。如果我做一个std::string 很好并显示整个事情......但是如果我尝试使用std::string.c_str() 将其转换为char 数组,它只会再次产生第一个318 characters。任何帮助将不胜感激。我正在使用Visual Studio 2017。实际字符串长度为517chars。
示例...
std::string x = "INSERT INTO oms.Customers (customerFirstName, CustomerMiddleInitial, customerLastName, customerPrefixSuffix, customerCompanyName, customerStreetReference, customerStreetAddress, customerCity, customerState, customerZip, CountryID, customerPhoneNumber, customerEmail, customerIsCompany, customerIsActive) Values('Bill', '
INSERT INTO oms.Customers(customerFirstName, CustomerMiddleInitial, customerLastName, customerPrefixSuffix, customerCompanyName, customerStreetReference, customerStreetAddress, customerCity, customerState, customerZip, CountryID, customerPhoneNumber, customerEmail, customerIsCompany, customerIsActive)Values('Bill', ' ', 'Cosby', '', 'The Cosby Show', 'Studio A', '1818 broadway st', 'Philadelphia', 'PA', '19809', '', '6169875942', 'Bill.Cosby@ididntdoit.com', '', ');SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY];"
但是如果我制作任何类型的 char 数组,比如我做了
char *y;
y= x.c_str
只有下面会显示
INSERT INTO oms.Customers (customerFirstName, CustomerMiddleInitial, customerLastName, customerPrefixSuffix, customerCompanyName, customerStreetReference, customerStreetAddress, customerCity, customerState, customerZip, CountryID, customerPhoneNumber, customerEmail, customerIsCompany, customerIsActive) Values('Bill', '
如果我这样做strlen(y),我会得到318。如果我这样做x.length(),我会得到517。
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
你为什么不做char y[1000000]?您可以通过这种方式轻松设置 char 数组的大小。
标签: c++ string visual-studio-2017 size string-length