如何将 char 数组的特定索引传递给 c 中的 outtextxy() 函数第三个参数
How to pass a particular index of char array to outtextxy() function's third parameter in c
我实际上想延迟打印文本的每个字符(char 数组的每个索引);因此,我正在尝试开发一个自定义函数,它使用 Turbo C 中的 outtextxy
获取 x 坐标、y 坐标、x 增量和 y 增量、延迟和指向文本字符数组的指针。
这是我的代码:
void printing(int x, int y, int xinc, int yinc, int d, char word[50]){
int i;
int size = strlen(word);
setcolor(LIGHTGREEN);
for(i = 0; i < size; i++){
outtextxy(x,y,word[i]);
}
x += xinc;
y += yinc;
delay(d);
}
但这每次都会给我一个错误:
Type mismatch in parameter '__textstring' in call to 'outtextxy'
我该如何解决这个问题?
outtextxy
函数的第三个参数必须是指向nul-terminated字符串(或char
数组)的指针,但你传递的是单个个字符。
作为快速修复,您可以只声明一个 2 字符数组(一个用于 nul 终止符)并在每次调用之前将单个 char
复制到其中:
void printing(int x, int y, int xinc, int yinc, int d, char word[50])
{
int i;
int size = strlen(word);
setcolor(LIGHTGREEN);
for (i = 0; i < size; i++) {
char text[2] = { word[i], 0 }; // This character plus nul terminator
outtextxy(x, y, text); // Array "decays" to a pointer to first char
}
x += xinc;
y += yinc;
delay(d);
}
但是,在 Turbo-C 图形库中 可能 有一个不同的函数,例如 putcharxy(int x, int y, char c)
,您可以使用它来输出给定坐标处的单个字符。 (我无权访问该库或任何权威的在线文档,尽管 this source 中似乎没有声明这样的函数。)
我实际上想延迟打印文本的每个字符(char 数组的每个索引);因此,我正在尝试开发一个自定义函数,它使用 Turbo C 中的 outtextxy
获取 x 坐标、y 坐标、x 增量和 y 增量、延迟和指向文本字符数组的指针。
这是我的代码:
void printing(int x, int y, int xinc, int yinc, int d, char word[50]){
int i;
int size = strlen(word);
setcolor(LIGHTGREEN);
for(i = 0; i < size; i++){
outtextxy(x,y,word[i]);
}
x += xinc;
y += yinc;
delay(d);
}
但这每次都会给我一个错误:
Type mismatch in parameter '__textstring' in call to 'outtextxy'
我该如何解决这个问题?
outtextxy
函数的第三个参数必须是指向nul-terminated字符串(或char
数组)的指针,但你传递的是单个个字符。
作为快速修复,您可以只声明一个 2 字符数组(一个用于 nul 终止符)并在每次调用之前将单个 char
复制到其中:
void printing(int x, int y, int xinc, int yinc, int d, char word[50])
{
int i;
int size = strlen(word);
setcolor(LIGHTGREEN);
for (i = 0; i < size; i++) {
char text[2] = { word[i], 0 }; // This character plus nul terminator
outtextxy(x, y, text); // Array "decays" to a pointer to first char
}
x += xinc;
y += yinc;
delay(d);
}
但是,在 Turbo-C 图形库中 可能 有一个不同的函数,例如 putcharxy(int x, int y, char c)
,您可以使用它来输出给定坐标处的单个字符。 (我无权访问该库或任何权威的在线文档,尽管 this source 中似乎没有声明这样的函数。)