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个回答

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

char要换成 wchar_t,2个字节。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
截取字符串,从后往前截
从后往前截 第一个出现非0的字符为止rnrn比如:string str = "440103000000" 我想得到 “440103”rnrn怎么实现呀
Vue从后往前截取字符串的方法
Vue从后往前截取字符串的方法 在我开发的过程中,我发现的substring方法没有从后往前截取字符串的方法,我的需求是截取字符串后的两位,但是最好的方法应该在后台的js里面写一个方法对字符串进行处理,这里可以使用正则表达式等等,但是因为我已经把后台的代码写好了而不想动它,这时可以在Vue里采用以下方法: ((item.KPIName.split("").reverse().join("")).s...
如何用 CRichEditCtrl::FindText 从后往前的查找特定字符串!
程序中,我的CRichEditCtrl中会被写入大量的文字信息,我要找的字符串会多次出现,但我只要最后一次出现时的位置,故想用 CRichEditCtrl::FindText 从后往前的查找,在 msdn 中提到“你可以通过在 FINDTEXTEX 结构中设置 CHARRANGE 中的适当范围参数来进行向上或向下搜索。”但不知如何操作,万望各位高手不吝赐教。
js从后往前截取的问题
如题:下面是问题:rnhttp://192.168.2.26:8029/wechat/list.html#/list/318rnrnvar str=rnhttp://192.168.2.26:8029/wechat/list.html#/list/318;rnrnvar id= str.split("/")[6];//获取id 要求不使用这种从前 往后截取的 感觉不太精准rnrn希望从最后一个(“/”)倒的截取 以得到精准id 即精准得到318
C# 截取字符串-substring
语法: string Substring(int start Index) 取从位置start Index开始一直到最后的子字符串 string Substring(int startIndex,int length) 取从位置startIndex开始长度为length的子字符串,如果子字符串的长度不足length则报错 具体如下: ...
截取字符串Substring
截取字符串(第一个字符串,最后一个,某个位置字符串) string strGroupBatchCodeSub = strGroupBatchCode.Substring(0, strGroupBatchCode.IndexOf('_')); 判断是否含有某个字符串(“,”,“-”,“/”) if (strTextBoxValue.Contains(strTextBoxSub1)) #regi...
Substring截取字符串的问题
我这样截取字符串时:rn string s="12345";rn string subStr = s.Substring(0, 9);rn Response.Write(subStr);rnrn就会提示:索引和长度必须引用该字符串内的位置。rn参数名: length rnrn我怎样才能:字符串长度不够的,有多长就截取多长,超过指定长度的,就截取指定长度。
Mysql使用到substring截取字符串
mysql截取字符串的时候是从1开始的而不是从0开始的 语法:substring(str,start,len) bz:*_*的形式 例子:select *  from cost  where substring(bz,1,1)
substring()截取字符串?
string s = "10 1 41 1";rnrn怎么获得41这个值 并且不带空白字符。rnrn各位大虾测试之后在给答案,希望能说明详细原因。 在线等解答, 谢谢。
截取字符串--SubString
字符串和字符相互转换、字符类型的常见方法。字符串类型的基本方法,判断两个字符串相等(Equals)、查找字符串(Indexof)、判断包含字符串(Contains)、替换字符串(Replace)、截取字符串(substring)、删除和插入字符串(Remove/Inset)、分割字符串(Split)
java截取字符串之subString
1.public String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。 参数: beginIndex - 开始处的索引(包括)。 2.public String substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字
subString 截取字符串
str.subString(int  startindex,int   endindex); 他的意思就是startindex,到endindex   下标之间的长度
SQL函数:SUBSTRING截取字符串
SUBSTRING函数作用 截取指定长度的字符 SUBSTRING函数用法 substring(string, start, length) 说明:截取string字符串从start开始length长度的字符 SUBSTRING函数使用举例 下面举例:截取20181219中的1219字符串 --截取目的字符串:1219 declare @str varchar(50) = '2...
截取字符串-SubString
本次课程是初级课程,只要熟悉计算机的基本应用和操作,都可以完成本次课程学习。本课程深入浅出的介绍了C#语言的基本语法结构、条件选择、循环、异常处理、数组、集合、值类型和应用类型、字符串的常用方法、日期类型的案例应用、各种方法的灵活等等。
截取字符串--subString
本季视频介绍了Java基础知识,内容包含:Java语言的介绍、Java开发 环境的部署、介绍计算机如何存储数据、常量和变量、运算符和表达式、条件选择、循环、方法、数组、集合、异常处理、字符串处理、正则表达式、文件处理和输入输出。总共114讲总计课时达44个小时,课程从初级讲起,结合了大量的案例演示。非常适合Java入门的系统课程!
substring从指定字符串开始截取
String filename=F:\workspace\ssh_photo\WebContent\uploadFile\1444783552338pic.jpg ; int begin=filename.indexOf(“ssh_photo”); int last=filename.length(); System.out.println(filename.substring(begin,la...
substring截取后重命名
select top(2) id,username,commnum,wrtcheck,times,title,rn case rn when len(cast(btext as varchar(400)))>400 rn then substring(btext,0,380) rn else btext end from blogwriting where username='admin'rnrnsql 语句是这样的rn现在我想rnsubstring(btext,0,380) as a 这样来这重名这样的,好像不行啊!我程序都写好了,就是这个字段为“无列名”让我没法干了,谁有办法帮我下。还是我这样的思路就错了。谢谢。
subString 截取“,”前面,或者后面的字符串
String a = items1.get(j).toString(); parentId = a.substring(0,a.indexOf(",")).trim();//逗号前面 levelCode = a.substring(a.indexOf(",")+1).trim();//逗号后面
如何用 PATINDEX 从后往前匹配文本
比如要提取一字段 item1 最后出现的3位数字rnitem1rnabc123def456ghirnrnrn我用 select substring(item1,PATINDEX('%[0-9][0-9][0-9]%',item1),3)rn只能返回第一次出现的123,如何返回最后一次出现的456呢
如何用正则截取字符串
[code=HTML]rn 用户名 rnrnrnrn爱Love1314rnrn[/code]rnrn如何使用正则截取"爱Love1314"这个字符串呢?
如何用SQL截取字符串
t1表,c1字段的数据是多行的:rnrn"中国林业出版社, 2000rn840页 ;rn7-5038-2336-4"rnrn现在要把840这个页数提出来赋给c2。rn估计写SQL用正则不太好弄,我只知道正则表达式可以在like里用。rn那就是截取换行符和"页"之间的字符串了,望高手指教!
如何用正则表达式截取字符串
有这么一段字符串:rn[aaa]bbbrn想分别截取字符串aaa(即中括号里面的字符)和bbb(即括号外面的字符),怎样写正则才能实现?rn$str1=aaarn$str2=bbbrnrnrn答案是这个rn$str = '[aaa]bbb';rnpreg_match('/^\[(.*)\](.*)$/', $str, $matches);rnrn$matches[1] == 'aaa';rn$matches[2] == 'bbb'; rnrn怎么改写成C#代码
怎样用substring截取这个字符串
String s = "上海"; //这个字符串是从网页源代码中提取下来的rnrn怎样把“上海”这个字符串截取下来呢?
截取字符串的问题.Substring的问题....
string word2=word.ToString();rnint word2length=word2.Length; //这里取得的为4429rnrn return word2.Substring(100,word2.Length); //这里出现错误?rnrnrn索引和长度必须引用该字符串内的位置。参数名: length rn说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 rnrn异常详细信息: System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。参数名: lengthrnrn源错误: rnrnrn行 97: stop=word2length;rn行 98: rn行 99: return word2.Substring(100,word2.Length);rnrn rn
Java截取字符串的方法substring
Android开发中需要用到对字符串的截取判断,如果第一个字符为“,”则删除,下面是判断方法: if (txtSendUser.substring(0, 1).equals(",")) { txtSendUser = txtSendUser.substring(1); }
关于substring和indexOf截取字符串
有类似这样的字符串rnaaa-bbb-ccc-dddrn"-"的个数不确定rn怎么截取到最后一个"-"之前或者从最后一个"-"之后截取rn在线等
Java-使用substring()截取字符串
在我们程序进行开发的时候多多少少都会碰到需要截取字符串的时候,这也是基础中的基础,今天就来简单的讲讲如何利用substring()方法来截取我们需要的字符串~ 例子: package com.sixmai.subStringTest; public class SubStringDemo { static String str =&quot;MaNongXF&quot;; public static...
JAVA substring 正反截取字符串
Stringstr=&quot;abcdefghmf&quot;;        System.out.println(&quot;截取前三个字符:&quot;+str.substring(0,3));    System.out.println(&quot;截取前三个字符以外的字符:=&quot;+str.substring(3));     System.out.println(&quot;截取后三个字符:&quot;+str.substring(str.length()...
C# Substring() 截取字符串的用法
语法: public string Substring(int startIndex); public string Substring(int startIndex, int length); 示例: string id = &quot;123456196108047890&quot;; string birthdate = id.Substring(6); //------------------19...
java截取字符串—substring的用法
前言:遇到如下问题,excel导出来的数据多了一个逗号,把结尾的逗号去掉。 String area = &amp;amp;quot;&amp;amp;quot;; String pNo = &amp;amp;quot;&amp;amp;quot;; String room = &amp;amp;quot;&amp;amp;quot;; TPositionExample pex = new TPositi
Substring 截取
我想截取一个字符串 sdkjfslkjfjsdlkfjlskdjfrnrn我想从 包含 全部去掉rnrn不能用< 因为内容有很多 <>>? 中间有很多 能不能直接就rnrnaa = ss.Substring(0, ss.LastIndexOf('[color=#FF0000][/color]')); 字符中的文字太多rnrn有大神支招吗
substring截取
protected void Page_Load(object sender, EventArgs e)rn rn if (!IsPostBack)rn rn string str = "555.0022";rn Response.Write(str.Substring(str.LastIndexOf('.'),str.Length));rn rn rnrnResponse.Write(str.Substring(str.LastIndexOf('.'),str.Length)); rnrn按照我们编程的计算长度来说绝对有问题的。str.Length长度范围超过。但是在VS2008中第一次运行出结果显示是rnrn[color=#FF0000][b].0022[/b][/color]rnrn如果你刷新下页面就会出现rnrn索引和长度必须引用该字符串内的位置。rn这是为何,是VS的问题么?还是别的问题。JavaScript中也可以写成rnrnvar str="555.0022";rnrnalert(str.substring(str.lastIndexOf('.')));rnrn最后弹出的也是[color=#FF0000].0022[/color]rnrn知道答案的高手来解答下。rn
delphi里有没有函数可以从字符串中截取一段?
比如字符串asdfghjkl,从中取出第2到第5之间的字符串,sdfg,那位大师告诉我,还是要自己写?
tableView从后往前传值
// 创建一个SecondViewController // 在.h文件中声明协议***SecondViewController // 声明协议 @protocol SecondViewControllerDelegate <NSObject>- (void)changValue:(NSString *)value;@end // 设置代理人属性 @interface SecondViewCont
从后往前截取遇到的第一个后面是空格的中文?????
铁路,铁道 railway railroad rn铁路线 railway line;railroad line rn国有铁路 national railway; state railway rn电气化铁路;电力铁路 electrified railway; electric railway rn地下铁道;地铁 subway; metro; underground railway rn限界 clearance; gauge rn交流弧焊机 A. C arc welding machinernV型柴油机 V-type diesel engine rn轮/轨接触应力 rail/wheel contact stressrnrnrn输出结果如下:rnrn铁路,铁道*railway railroad rn铁路线*railway line;railroad line rn国有铁路*national railway; state railway rn电气化铁路;电力铁路*electrified railway; electric railway rn地下铁道;地铁*subway; metro; underground railway rn限界*clearance; gauge rn交流弧焊机*A. C arc welding machinernV型柴油机*V-type diesel engine rn轮/轨接触应力*rail/wheel contact stressrnrn==============================================================rn---------------------------------------------------------rnrn要把中英文分开,如何实现,我想了一下思路是每行从后面开始往前计算,把碰到的第一个中文字符(后面刚好有空格的)这个地方截断,具体如何实现?
从后往前读的流
用什么流可以实现从后往前读,比如说只要读取文本内容的倒数几个字符?
怎样截取一段字符串
如果是一段包含html的文字,那么要怎样才能把纯文本的字符截取出来?
C++坑爹的字符串之从后往前处理字符串
今天在进行代码搬运的时候(^-^),突然发现了这样一个问题。我有一个字符串大概是这种类型的:你好呀^201.202.201.201^。我本身只需要前面的中文呀,但是服务器却智障的给我加上了一个^201.202.201.201^,而且是每一个都有这个,我理所当然的就要去掉了。可是在进行操作的时候却发现没有什么好的方式去完成这个任务。我想要的结果是最好一步完成,但是字符分割函数基本都是从前往后的,我不能
object c怎么从一段字符串中截取数据
晴间多云. 最高: 1C. 风速: 10-15 公里/小时. 风向: 西北. 怎么把  晴间多云    1C      西北    这三个字符串分别截取出来; 最高,风速,风向这三个字符固定不改变。 语言使用object-c.
C语言如何截取字符串中间的一段
如下字符串 a="小区名称=文祖黑峪XYG-33122, 小区索引=253, CGI=46001171D8162"rn我想截取a中的"文祖黑峪XYG-33122" 然后把它存入a中,怎么做 请指教
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件