C++中创建一个函数,想让这个函数的返回值是一串字符。

创建一个函数,想让这个函数的返回值是一串字符。比如判断一个日期如果是星期一就返回“星期一”。如何用string或char解决这个问题?还有我看到要求上是用enum,如何解... 创建一个函数,想让这个函数的返回值是一串字符。
比如判断一个日期如果是星期一就返回“星期一”。
如何用string或char解决这个问题?
还有我看到要求上是用enum,如何解决?
如果能详细点,我还想知道如何能够简单的显示系统的日期。谢谢!
展开
 我来答
般水然香愉1F
2011-11-13 · 超过30用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:57.6万
展开全部
返回的时候要注意在函数里面要么动态分配内存(否则字符串局部变量返回是没有意义的,因为其生存周期已过就销毁),或者更简单的就是在代码前面就定义一个全局变量,然后返回的时候先给全局变量赋值再返回
另外就是根据一个日期判断星期几(实在是觉得蛋疼),windows的API函数不是用time(获取当前到距离1900年1月1日的秒数)以及localtime(将这个秒数转化为具体的一个时间结构体tm),还用enum完全没有意义,API函数里面星期定义是0代表星期天,0到6代表星期天到星期六,楼主可以用enum自己定义一个(意义不大),然后判断返回
更多追问追答
追问
其实我感觉大家想复杂了……
我就是知道今天是周日,然后我能创建一个函数里有7个IF,通过这7个不同的条件返回不同的值。
然而我不知道怎么让这个返回值是一串字符,好让我在INT MAIN()里头COUT<<这个函数的时候可以直接输出 星期一~星期日……
追答
#include
using namespace std;

char str[64] = {0};
char* Return(int i);
void main()
{
cout<<Return(1)<<endl;

}

char* Return(int i)
{
if(i == 0)
{
strcpy(str,"星期天");
return str;
}
else if (i == 1)
{
strcpy(str,"星期一");
return str;
}

}

那楼主参考下上面的吧,总之返回的字符串一定要先分配了内存
lexin_lyl
2011-11-13 · TA获得超过714个赞
知道小有建树答主
回答量:456
采纳率:0%
帮助的人:468万
展开全部
楼上的瞎说,返回String不行吗?怎么就只有一个字母?C++是支持String的。
enum是枚举类型,你先定一个枚举变量,里面包含了星期一到星期天,然后在函数里面判断出日期是星期几之后,再把枚举类型里面相应的那个元素返回就行了
追问
那这个函数的类型应该定义为什么类型呢?
enum days{“星期一",...."星期日"};
应该放在这个函数里面么?
我判断完条件之后if(){
return 星期一;
}
这样可以么……?
我新学,这个不太清楚
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
永远的一001
2011-11-13
知道答主
回答量:23
采纳率:0%
帮助的人:18.9万
展开全部
不可能实现!最多反回一字母!可用switch语句检测字母后输出中文
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式