[ create a new paste ] login | about

Link: http://codepad.org/ZvSEJc9L    [ raw code | fork ]

C, pasted on Mar 13:
Dim n As Long
Dim Text As *String
Text = Split("aaa,bbb,ccc,ddd",",")

Do
	MessageBox(0,Text[n],"Text["+Str$(n)+"]",0)
	n = n + 1
	If Text[n] = Ex"\0" Then
		Exit Do
	End If
Loop






/* Split関数 */
Function Split(Text As String,Delimiter As String) As *String
	Dim DataNum As Long
	Dim StringData As *String

	Dim re As Long
	Dim re_b As Long
	Dim s As String

	DataNum = 0
	StringData = NULL

	Do
		re = re + 1
		re_b = re

		'区切り文字の検索
		re = InStr(re_b, Text, Delimiter)
		'MessageBox(0,Str$(re)+Ex"\r\n"+Str$(re)+"-"+Str$(re_b)+"="+Str$(re-re_b),"re",0)

		'区切り文字までの抜き出し
		If re <> 0 Then
			s = Mid$(Text,re_b,re-re_b)
		Else
			s = Mid$(Text,re_b)
		End If

		'動的配列に格納
		If StringData = NULL Then
			StringData = malloc(SizeOf(String) * 1)
		Else
			StringData = realloc(StringData,SizeOf(String) * (DataNum+1))
		End If
		
		StringData[DataNum] = s

		DataNum = DataNum + 1
	Loop Until re = 0

	'末端にNULL文字を入れる
	StringData = realloc(StringData,SizeOf(String) * (DataNum))
	StringData[DataNum] = Ex"\0"

	'値を返す
	Split = StringData

End Function


Create a new paste based on this one


Comments: