How to use udp.write() to send text

I am trying to make this code work, it should send some int values over UDP as a string. I am trying to use udp.write() to send a c-string; but I only get compilation errors regardless of what variable I try to send with it. Here is the sketch:

// WiFiUDPClient_telemetry_viewer_esp32.ino

#include <WiFi.h>
#include <WiFiUdp.h>
#include <Personal2.h>

// WiFi network name and password:
const char *networkName = WIFI_SSID;
const char *networkPswd = WIFI_PASSWORD;

IPAddress udpip(10, 0, 0, 2);
int chartport = 3333;

boolean connected = false;

int t1;
int t2;
int t3;
int a;
int b;

WiFiUDP udp;

void setup() {
  delay(3000);
  Serial.begin(115200);
  Serial.println("start setup");
  connectToWiFi(networkName, networkPswd);
  Serial.println("end setup");
}

void loop() {
  a = t1; 
  b = t2; 
  String str = String(a) + "," + String(b);
  udpchart(str);
  t1++;
  t2++;
  delay(1000);
}

bool udpchart(String text1) {
  bool result = false;
  String str = text1;
  //Construct Char* from String:
  str += "\n";
  int n = str.length();
  char text[n + 1];
  strcpy(text, str.c_str());
  result = udp_write(text, chartport);
  return (result);
}

bool udp_write(char* text, int port) {
  if (WiFi.status() == WL_CONNECTED) {
    udp.stop();
    udp.begin(WiFi.localIP(), 3333);
    delay(10); 
    if (udp.beginPacket(udpip, port)) {
      udp.write(test2);
      udp.endPacket();
      return (true);
    } else {
      udp.stop();
      return (false);
    }
  } else {
    return (false);
  }
}


void connectToWiFi(const char *ssid, const char *pwd) {
  Serial.printf("Connecting to %s ", ssid);

  WiFi.begin(ssid, pwd);
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  if (WiFi.status() == WL_CONNECTED) {
    Serial.println("connected");

    Serial.printf("Client IP %s\n", WiFi.localIP().toString().c_str());
  } else {
    Serial.println("Cannot Connect To WIfi");
  }
}

Here is the error:

C:\Users\perigalacticon\OneDrive\Documents\Arduino\sketches\Modified Examples\WiFiUDPClient_telemetry_viewer_esp32\WiFiUDPClient_telemetry_viewer_esp32.ino: In function 'bool udp_write(char*, int)':
WiFiUDPClient_telemetry_viewer_esp32:60:17: error: invalid conversion from 'char*' to 'uint8_t' {aka 'unsigned char'} [-fpermissive]
   60 |       udp.write(text);
      |                 ^~~~
      |                 |
      |                 char*
In file included from C:\Users\perigalacticon\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.2.0\libraries\Network\src/Network.h:14,
                 from C:\Users\perigalacticon\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.2.0\libraries\WiFi\src/WiFiGeneric.h:44,
                 from C:\Users\perigalacticon\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.2.0\libraries\WiFi\src/WiFiSTA.h:30,
                 from C:\Users\perigalacticon\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.2.0\libraries\WiFi\src/WiFi.h:34,
                 from C:\Users\perigalacticon\OneDrive\Documents\Arduino\sketches\Modified Examples\WiFiUDPClient_telemetry_viewer_esp32\WiFiUDPClient_telemetry_viewer_esp32.ino:3:
C:\Users\perigalacticon\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.2.0\libraries\Network\src/NetworkUdp.h:65:16: note:   initializing argument 1 of 'virtual size_t NetworkUDP::write(uint8_t)'
   65 |   size_t write(uint8_t);
      |                ^~~~~~~
Multiple libraries were found for "WiFi.h"
 Used: C:\Users\perigalacticon\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.2.0\libraries\WiFi
 Not used: C:\Program Files (x86)\Arduino\libraries\WiFi
exit status 1
invalid conversion from 'char*' to 'uint8_t' {aka 'unsigned char'} [-fpermissive]

Why do I keep getting this error? How to fix it?

As the error message states, write() takes a uint8_t as its argument, not a pointer.

The WiFiUDP class inherits (indirectly) from the Stream class. So it would be easiest to use print() instead of write().