c++ - 由于第二个参数,我的函数并不总是有效
问题描述
我的麻烦是我的功能并不总是有效,我不知道为什么。
这是我的代码:
#include <stdio.h>
#include <string.h>
#include <cstring>
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include <string>
using namespace std;
void fill_zeros(std::string& fill_zeros_str, int fill_zeros_num){
if (fill_zeros_str.length()<fill_zeros_num){
int i = 0;
for (i=0;i<=((int)fill_zeros_num)-((int)fill_zeros_str.length());i++){
fill_zeros_str = "0"+fill_zeros_str;
}
}
}
int main(){
string testString = to_string(2);
fill_zeros(testString,7);
cout << testString << "\n";
return 0;
}
fill_zeros 的第二个参数(fill_zeros_num)一直不起作用,我也不知道为什么。
解决方案
因为在
您添加零(减一)for (i=0;i<=((int)fill_zeros_num)-((int)fill_zeros_str.length());i++)
时更改的长度fill_zeros_str
,并且您也在添加一i
(因此,开始加一,结束减一)。所以最好的方法是在函数的开头定义一个长度来存储字符串的长度。
推荐阅读
- node.js - 如何按日期对数据进行排序(json)
- dns - 我如何在谷歌应用引擎中使用自定义域?
- c# - 如何从 asp.net core 中的多个项目中获取用于媒体上传的公共项目的路径
- ios - LocalNotification 不工作 [IOS] - PushNotificationIOS
- ios - 从我的原生 iOS 应用程序在远程机器上执行脚本。(目标-C)
- angular - Angular:同时使用 ViewChild 和 Input,副作用还是最佳实践?
- android - 使用相机时如何打开/关闭手电筒?
- php - 如果没有找到文件,php glob 将值提高到 1
- ssh - Netmiko - Windows 10 - SSH 路由器 - 不能只运行第一个命令
- javascript - 如何在点击时附加 div?