找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1060|回復(fù): 4
收起左側(cè)

C語言strtok函數(shù)怎么分割實(shí)時(shí)字符串

[復(fù)制鏈接]
ID:1120129 發(fā)表于 2024-5-17 16:00 | 顯示全部樓層 |閱讀模式
假如char a[10]="28.3a23.3"
怎么樣才能把這a[10]分成兩個不同的字符串?dāng)?shù)組

分成如char b[5]="28.3"
          char c[5]="23.3"
回復(fù)

使用道具 舉報(bào)

ID:879809 發(fā)表于 2024-5-17 17:19 | 顯示全部樓層
自己寫,遇到不是數(shù)字或小數(shù)點(diǎn)就分割好了。
回復(fù)

使用道具 舉報(bào)

ID:69038 發(fā)表于 2024-5-17 17:57 | 顯示全部樓層
網(wǎng)上搜來的:
#include <string.h>
#include <stdio.h>

int main () {
   char str[80] = "aaa - bbb - ccc";
   const char s[2] = "-";   //字符串里可以是一個分隔符,也可以是分隔符的集合
   char *token;
   
   /* 獲取第一個子字符串 */
   token = strtok(str, s);
   
   /* 繼續(xù)獲取其他的子字符串 */
   while( token != NULL ) {
      printf( "%s\n", token );
   
      token = strtok(NULL, s);
   }
   
   return(0);
}
回復(fù)

使用道具 舉報(bào)

ID:1120129 發(fā)表于 2024-5-17 18:43 | 顯示全部樓層
zhuls 發(fā)表于 2024-5-17 17:57
網(wǎng)上搜來的:
#include
#include

最后分割完的全存在指針數(shù)組token里,我就是想問問怎么才能把token里的數(shù)據(jù)分在兩個不同的字符串?dāng)?shù)組,指針數(shù)組我看不太懂.
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2024-5-17 23:44 | 顯示全部樓層
首先必然有個分割規(guī)則,而后按規(guī)則執(zhí)行就可以了。
假如本例a是分割符,
那么,依序逐一取字符,并逐一拼裝。
遇到a,就結(jié)束本次接裝,
然后再依序逐一取字符,并進(jìn)入下一個逐一拼裝。
直至最后一個字符。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表