weixin_42342710 2018-12-14 07:33 采纳率: 0%
浏览 4654

C里如何用substring从后往前截取一段字符串?

C里如何用substring从后往前截取一段字符串?比如char str[] = "纬度:123°12'12''经度:124°25'35'' ";我想截取经度:后面的位置信息。

# include "stdafx.h"
#include <stdio.h>
#include<string.h>
void substring(char *s, char ch1, char ch2, char *substr)
{
    while (*s && *s++ != ch1);
    while (*s && *s != ch2) *substr++ = *s++;
    *substr = '\0';
}
int main()
{
    char str[] = "纬度:123°12'12''经度:124°25'35'' ";
    char sub1[20];
    char sub2[20];
    //string str1 = "yesterday once more";
    substring(str, ':', '经', sub1);
    //substring(str, ':', ,sub2);
    printf("%d\n", strlen(sub1));
    sub1[strlen(sub1)-1] = '\0';
    printf("substring=%s\n", sub1);
    printf("%d\n", strlen(sub1));
    /*sub2[strlen(sub2) - 1] = '\0';
    printf("substring=%s\n", sub2);*/
    return 0;
}
  • 写回答

2条回答 默认 最新

  • _ZGq 2018-12-14 10:03
    关注

    "经"不是一个字符(中文都是这样,但具体是几个字符要根据编译器),不能用单引号。

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)