当前位置:网站首页>After the subscript is used to assign a value to the string type, the cout output variable is empty.
After the subscript is used to assign a value to the string type, the cout output variable is empty.
2022-07-06 16:53:00 【Flower dog fdog】
When writing to create a folder today , No matter how you create it , Revise over and over again , Make sure the mistake is string Type variables .
Look at the code below
// The code in this function , The argument to the function is string fileurl_s
int len = fileurl_s.length();
std::string fileurl_s_cy;
for(int i =0;i<len;i++)
{
fileurl_s_cy[i]=fileurl_s[i];
if(fileurl_s_cy[i]=='/' || fileurl_s_cy[i]=='\\')
{
if (0 != access(fileurl_s_cy.c_str(), 0))
{
mkdir(fileurl_s_cy.c_str(),0); // return 0 Indicates that the creation was successful ,-1 It means failure
}
}
}
The function of this code is to create folders , And subfolders , According to the parameters , Skip if there is , Nothing creates
But I found that I couldn't create folders at all
I try to output fileurl_s_cy[i], It can output the characters I want normally
But when I output fileurl_s_cy There's something wrong with it ,fileurl_s_cy From beginning to end, it is empty , Length is also empty , As a result, the folder cannot be created normally
It can output normally fileurl_s_cy[i], But it cannot output normally fileurl_s_cy, I thought it was ’\0’ The problem of , It's useless to add discovery ,fileurl_s_cy The overall length is still 0
I can use std::stringfileurl_s_cy = “www/ccccc” This form normally creates folders , However, the subscript assignment method cannot be used
After Baidu , I learned it because of the statement fileurl_s_cy There was no room to open up , So it can't be used
The strange thing is the output fileurl_s_cy[i] I didn't report an error .
The solution is as follows :
The declaration is changed to std::string fileurl_s_cy(len,’\0’);
In this way, subscript assignment can be used normally , Output and overall output
Afraid to forget , Record with this .
边栏推荐
- ~77 linear gradient
- CMake速成
- Error occurred during initialization of VM Could not reserve enough space for object heap
- ~84 form supplement
- [unsolved]7-14 calculation diagram
- 提交Spark应用的若干问题记录(sparklauncher with cluster deploy mode)
- Cartesian tree (modified)
- LeetCode 1638. Count the number of substrings with only one character difference
- 7-7 ring the stupid bell
- How to configure hosts when setting up Eureka
猜你喜欢
随机推荐
The 116 students spent three days reproducing the ByteDance internal real technology project
Shell_ 00_ First meeting shell
解决Intel12代酷睿CPU【小核载满,大核围观】的问题(WIN11)
Record the error reason: terminate called after throwing an instance
LeetCode 1638. Count the number of substrings with only one character difference
Educational Codeforces Round 122 (Rated for Div. 2)
字节跳动技术新人培训全记录:校招萌新成长指南
Eureka high availability
~82 style of table
图像处理一百题(11-20)
Jedis
Erlang installation
Continue and break jump out of multiple loops
LeetCode 1557. The minimum number of points that can reach all points
~77 linear gradient
LeetCode1556. Thousand separated number
我在字节跳动「修电影」
Audio and video development interview questions
Hbuilder x format shortcut key settings
Codeforces Global Round 19