String to ASCII

Hi at All,

I wuold like to convert a string of characters in ASCII values.

So I made a function using SSCANF:

 
Function/S str2ASCII(tmpstr) 								
	String tmpstr 
	String tmpASCII
	Variable i=0, tmp, num=strlen(tmpstr)			
	For (i=0;i<num;i+=1)
	sscanf tmpstr[i], "%c", tmp
	tmpASCII+=num2str(tmp)
	endfor
return tmpASCII
End


So I check the function and It works. When I use the function:


String test
String test2
test2="Hello"
test=str2ASCII(test2)


"Attempt to use a null string variable" appears and this message "Missing text resource for error: 0" appears on the command line.

Where is the error? Because If I add print command in the function, a right result appears.

Thanks in advance.

Matteo
Try this


Function/S str2ASCII(tmpstr) 								
	string tmpstr

	string tmpASCII="" // required declaration here, otherwise string is NULL
	variable i, tmp, num=strlen(tmpstr)
	
	for (i=0;i<num;i+=1)
	     sscanf tmpstr[i], "%c", tmp
	     tmpASCII+=num2str(tmp)
	endfor
        return tmpASCII
end


which gives


•print str2ascii("Hello")
  72101108108111


--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAHuntsville
Here is a solution that does not use sscanf:

Function/S Str2ASCII(str) 								
	string str
 
	String result = ""			// Initialize to empty string
	Variable i, count=strlen(str)
 
	for (i=0;i<count;i+=1)
	     String ch = str[i]
	     Variable num = char2num(ch)
	     result += num2str(num)
	endfor

	return result
End