首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言的输出有关问题

2012-03-02 
C语言的输出问题我想实现在程序中打印一串字符:wwwwwwwwwwww然后在同一行打印另外一串字符:abc希望得到的

C语言的输出问题
我想实现在程序中打印一串字符:wwwwwwwwwwww
然后在同一行打印另外一串字符:abc
希望得到的输出结果是:abcwwwwwwwwww
就是abc覆盖了wwwwwwwwwww的在同一位置前三个字符,其它字符保持不变。
我是用的VC++6.0。
以下是代码:
#include <stdio.h>
#include <conio.h>
void   main()
{
      printf( "wwwwwwwwwwwww ");
      gotoxy(1,1);
      printf( "abc ");
}

但是编译没有通过,它说gotoxy()没有定义。请问这段代码问题出在哪里?
我想实现目的,应该怎么办呢?

[解决办法]
gotoxy()函数是包含在图像头文件中的

在VC中并没有定义。

或者写个不太标准的gotoxy也是可以的

void gotoxy(int x,int y)
{
for(int i = 0; i < y; i++)
printf( "\n ");
for(int j = 0; j < x; j++)
printf( " ");
}
[解决办法]
这是不可以的, 控制台端的光标是不能后退的.

要实现你的方法只能把这两段字符串输入到一个字符数组中去, 然后输出数组.
[解决办法]
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char *str1;
char *str2;
char *addr;
str1 = (char *)malloc(100*sizeof(char));
str2 = (char *)malloc(100*sizeof(char));
scanf( "%s ",str1);
scanf( "%s ",str2);
addr = str1;
while(*str2 != '\0 ')
{
*str1 = *str2;
str1++;
str2++;
}
printf( "%s ",addr);
system( "pause ");
return 0;
}

是不是要这样的效果?
[解决办法]
#include <stdio.h>
#include <string.h>

int main()
{
char str[] = "wwwwwwwwwwwww ";
char temp[] = "abc ";
memcpy(str, temp, strlen(temp));

printf( "%s\n ", str);

return 0;
}

[解决办法]
VC实现这种功能要调用Windows的相关API函数,你到MSDN上查一下名字带console的函数就可以了。
[解决办法]
感觉好像都没有达到楼主的要求!!
自我感觉!!
[解决办法]
晕了,直接用\r回行首就好了.
#include <iostream>
#include <stdio.h>
using namespace std;

int main(){
printf( "google\r23 "); // 输出23ogle

return 0;
}

[解决办法]
#include <stdio.h>
int main()
{
char tmp[] = "wwwwwwwwwwwww ";
pritnf( "%s ",tmp);
pritnf( "\b\b\b\b\b\b\b\b\b\b\b\babc ");
return(0);
}
这是C语言实现的
[解决办法]
用\r或\b不一定可以达到要求,如果是输出已经到了行尾并转行,就失效了

热点排行