首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将char数组的特定索引传递给c中outtextxy()函数的第三个参数

如何将char数组的特定索引传递给c中outtextxy()函数的第三个参数
EN

Stack Overflow用户
提问于 2022-04-02 15:11:31
回答 1查看 70关注 0票数 0

实际上,我想用延迟打印文本的每个字符(每个字符数组的索引);因此,我试图开发一个自定义函数,它采用x协调、y协调、x增量和y增量、延迟以及使用Turbo中的outtextxy指向文本字符数组的指针。

这是我的密码:

代码语言:javascript
复制
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);
}

但这让我每次都犯了一个错误:

调用“outtextxy”中参数“__textstring”中的不匹配类型

我怎么才能解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-02 15:25:52

outtextxy函数的第三个参数必须是指向以nul结尾的字符串(或char数组)的指针,但您要传递一个字符。

作为快速修复,您只需声明一个2个字符的数组(一个用于nul终止符),并在每次调用之前将您的单个char复制到其中:

代码语言:javascript
复制
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图形库中可能有一个不同的函数,例如putcharxy(int x, int y, char c),您可以使用它在给定的坐标下输出单个字符。(我无法访问该库或任何权威的在线文档,尽管在本源中似乎没有这样的函数。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71718744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档