天天看點

strtok()的簡單使用

strtok()用來将字元串分割成一個個片段。參數s指向欲分割的字元串,參數delim則為分割字元串中包含的所有字元。當strtok()在參數s的字元串中發現參數delim中包含的分割字元時,則會将該字元改為\0 字元。在第一次調用時,strtok()必需給予參數s字元串,往後的調用則将參數s設定成NULL。每次調用成功則傳回指向被分割出片段的指針,如果查找不到delim中的字元時,傳回目前strtok的字元串的指針。

示例:

#include "stdafx.h"
#include <iostream> 
#include <string>

int main()
{
	std::string scrStr = "This is a test";
	char *buff = (char *)malloc(scrStr.size() + 1);
	memcpy(buff, scrStr.c_str(), scrStr.size() + 1);
	char *splitStr = strtok(buff, " ");
	while (splitStr)
	{
		std::cout << splitStr << std::endl;
		splitStr = strtok(nullptr," ");
	}
	free(buff);
	getchar();
	return 0;
}
           

列印結果:

strtok()的簡單使用

繼續閱讀