初夏浅梦i 2020-06-05 23:30 采纳率: 60%
浏览 198
已采纳

请问大佬,为什么我这样写的存入时间输出时后面会出来一大堆空白字符 怎么可以改呀 只需要达成某一条件就会读取当前时间存入一个数组中

图片说明

这是我的代码

string farexz, farename, bourn, phone, orderxz;
    time_t now = time(0);
    char* localtime = ctime(&now); // 获取时间
    while (1)
    {
        cout << "请你输入你的姓名:";
        cin >> farename;
        cout << "请你输入你的目的地:";
        cin >> bourn;
        cout << "请你输入你的手机号:";
        cin >> phone;
        cout << "你确定提交该订单吗?是<Y>/否<N>";
        cin >> orderxz;
        if (orderxz == "是" || orderxz == "Y" || orderxz == "y")
        {

                string localtimenow = localtime;
                int idbh = 623500 + len + 1;
                orders[len].id = idbh;
                orders[len].kehu = farename;
                orders[len].diver = "暂未";
                orders[len].cjsj = localtimenow;
                orders[len].ztai = "否";
                orders[len].sjh = phone;
                orders[len].slsj = "暂未";
                orders[len].whgo = bourn;
                cout << "提交成功,你的订单号为:" << idbh << "正在等待司机的受理,可在用户模块查看已发布订单查询!" << endl;
                len++;
            break;
        }

以及输出的代码

cout << id << "\t\t" << kehu << "   \t" << sjh << "\t" << cjsj << "\t" << diver << "\t" << ztai << "\t\t" << slsj<<endl;

其中的cjsj 和slsj就是时间的变量
只要在运行时存入时间输出就是上面的图中的情况 第二行应该在那个时间后面的 莫名其妙就到了第二行,求大佬帮忙解决一下

  • 写回答

2条回答 默认 最新

  • 小学狗喵喵叫 2020-06-06 10:13
    关注

    因为cjsj 最后面有一个\n,加上一句

    localtime[strlen(localtime) - 1] = '\0';
    string localtimenow = localtime;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办