c++ - 传入字符串和整数的字符串函数

标签 c++ c

我不知道为什么这不起作用。我正在尝试创建一个传递整数和字符串并返回字符串的函数。

string convertThousands(int val, string roman)
{
        piece = (val / THOUSANDS);
        for (int i = 0; i < piece; i++)
        {
            roman += 'M';
        }
        val %= THOUSANDS;
        return roman;
}

在我的主函数中,我会像下面这样调用它:

string roman;
roman = convertThousands; 

最佳答案

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef char* string;

#define THOUSANDS 1000

string convertThousands(int *val, string roman){
    int piece = (*val / THOUSANDS);
    for (int i = 0; i < piece; i++){
        strcat(roman , "M");
    }
    *val %= THOUSANDS;
    return roman;
}

int main(){
    string roman = malloc(1024);
    strcpy(roman, "");
    int year = 2014;
    roman = convertThousands(&year, roman);
    printf("%d, %s\n", year, roman);
    free(roman);

    return 0;
}
<小时/>
#include <iostream>
#include <string>

using namespace std;

const int THOUSANDS = 1000;

string convertThousands(int &val, string roman){
    int piece = val / THOUSANDS;
    for (int i = 0; i < piece; i++){
        roman += 'M';
    }
    val %= THOUSANDS;
    return roman;
}

int main(){
    string roman("");
    int val = 2014;
    roman = convertThousands(val, roman);
    cout << val << ',' << roman << endl;

    return 0;
}

关于c++ - 传入字符串和整数的字符串函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21328004/

相关文章:

c++ - C++ 字符串中会发生缓冲区溢出吗?

c# - 如何为 C++ 代码(为树程序使用大量指针)创建一个 dll,以便它可以在 ASP.Net Web 应用程序中引用

c - 为什么 __libc_start_main 出现在字符串数组中

c - 我们如何定义用于识别给定系列中特定序列的规则?

c - 如何以特定格式打印time_t?

c++ - 关于 ofstream 的模棱两可的警告,但不是 ostream 的警告。有什么不同?

c++ - 在 boost::any 映射中插入元素并返回对它的引用

c++ - sscanf() 以换行符作为分隔符

我能否找出我包含在我的 C 程序中的库实际被使用了?

c - 来自发布的 MQTT 接收和 mqtt ping C