Both functions are not working in A7.84. They don't change the string in any way. Here is a simple test code that shows the problem:

Code:
#include <acknex.h>
#include <default.c>


TEXT* test_txt = {
	layer = 2;
	pos_x = 300;
	pos_y = 150;
	red = 255;
	green = 255;
	blue = 255;
	font = "Arial#30b";
	strings = 1;
}

var det1 = 0;
var det2 = 0;
var det3 = 0;
function main() {
  video_mode = 6;	 
  video_depth = 32; // 32 bit colour mode
   wait(1); //Load Video device  
   set(test_txt,SHOW);
   wait (3);
   str_cpy((test_txt.pstring)[0],"Ein test!");
   det1 = str_len((test_txt.pstring)[0]);
   wait(-1);
   str_trunc((test_txt.pstring)[0],2);
   wait(1);
   det2 = str_len((test_txt.pstring)[0]);
   wait(-1);
   str_clip((test_txt.pstring)[0],4);
   wait(1);
   det3 = str_len((test_txt.pstring)[0]);
   while(1) {
   DEBUG_VAR(det1,10);
   DEBUG_VAR(det2,50);
   DEBUG_VAR(det3,90);
   wait(1);
   }
}