我的程序运行在console模式,我想只在console窗口的第一行输出字符,用什么函数?

时间:2022-10-07 15:03:02
printf( )第一次用在第一行输出字符,第二次用就会接着原来的字符串位置输出,我想始终在第一行位置输出字符串,应该用什么函数?

14 个解决方案

#1


printf("\n");
加油加油。

#2


第二次调用之前输出回车符
printf('\r');

#3


我想在始终在第一行第一个位置输出字符。

#4


始终在第一行第一列或者想输出到任意一行任意一列,用什么函数?

#5


不知道有没有clearscreen函数cls?
否则
printf('abc');
printf('\r');
printf('d');
得到
dbc
不好看吧?

#6



conio.h 中:
clrscr()清除字符窗口函数
功能:函数clrscr()清除整个当前字符窗口,并且把光标定位于左上角(1,1)处。
gotoxy()光标定位函数
功能: 函数gotoxy()将字屏幕上的光标移到当前窗口指定的位置上。

n年以前在tc下用过, 也不知道现在的编译器支不支持。。。

#7


Prototype

void clrscr(void);

Description

Clears the text-mode window.

clrscr clears the current text window and places the cursor in the upper left corner (at position 1,1).

Note: Do not use this function in Win32 GUI applications. 

Return Value :None.
可见支持

#8


cout<<"第一行字符"<<endl;
cout<<"第二行字符"<<endl;
cout<<"第三行字符"<<endl;

#9


#include <iostream>

int main()
{
   std::cout<<"yourstring"<<endl;

return 0;
}

#10


Linux的很多命令行在执行的时候总是在第一行第一列显示转动的齿轮,其实是"\|/-"四个字符轮换出现。
我就想作个这种效果。 :)

#11


#include <cstdlib>
#include <cstdio.h>
#include <windows.h>
void main()
{
 int i=0;
 char ch[]={'\\','|','/','-'};
 while(i++<1000)
{
 printf("%c",ch[i%4]);
 Sleep(100);                  //运行100多秒,就是快两分钟的样子
 printf("\r");
}
system("pause");
}

#12


#include <cstdlib>
#include <cstdio>
#include <time.h>
#include <windows.h>
void main()
{
int i=0;
char ch[]={'\\','|','/','-'};
char chr[] = {'/','|','\\','-'};
srand(time(NULL));
int a[10];
for (int j = 0;j < 10; j++)
a[j] = rand()%4;
while(i++<1000)
{
for(j = 0; j < 5; j++)
printf("%c%c%c%c%c%c%c%c%c%c",
ch[(i+a[0])%4],chr[(i+a[1])%4],
ch[(i+a[2])%4],chr[(i+a[3])%4],
ch[(i+a[4])%4],chr[(i+a[5])%4],
ch[(i+a[6])%4],chr[(i+a[7])%4],
ch[(i+a[8])%4],chr[(i+a[9])%4]);
Sleep(100);                  //运行100多秒,就是快两分钟的样子
for(j=0;j<5;j++)
printf("\b\b\b\b\b\b\b\b\b\b");
}
system("pause");
}

#13


Sleep(100); //运行100毫秒

#14


To yzwpf():
  不好意思,我是指整个循环,也就是这种画面大概持续100多秒,所以我没有说是精确的100秒,还包括另外的两条指令的时间了,呵呵.

#1


printf("\n");
加油加油。

#2


第二次调用之前输出回车符
printf('\r');

#3


我想在始终在第一行第一个位置输出字符。

#4


始终在第一行第一列或者想输出到任意一行任意一列,用什么函数?

#5


不知道有没有clearscreen函数cls?
否则
printf('abc');
printf('\r');
printf('d');
得到
dbc
不好看吧?

#6



conio.h 中:
clrscr()清除字符窗口函数
功能:函数clrscr()清除整个当前字符窗口,并且把光标定位于左上角(1,1)处。
gotoxy()光标定位函数
功能: 函数gotoxy()将字屏幕上的光标移到当前窗口指定的位置上。

n年以前在tc下用过, 也不知道现在的编译器支不支持。。。

#7


Prototype

void clrscr(void);

Description

Clears the text-mode window.

clrscr clears the current text window and places the cursor in the upper left corner (at position 1,1).

Note: Do not use this function in Win32 GUI applications. 

Return Value :None.
可见支持

#8


cout<<"第一行字符"<<endl;
cout<<"第二行字符"<<endl;
cout<<"第三行字符"<<endl;

#9


#include <iostream>

int main()
{
   std::cout<<"yourstring"<<endl;

return 0;
}

#10


Linux的很多命令行在执行的时候总是在第一行第一列显示转动的齿轮,其实是"\|/-"四个字符轮换出现。
我就想作个这种效果。 :)

#11


#include <cstdlib>
#include <cstdio.h>
#include <windows.h>
void main()
{
 int i=0;
 char ch[]={'\\','|','/','-'};
 while(i++<1000)
{
 printf("%c",ch[i%4]);
 Sleep(100);                  //运行100多秒,就是快两分钟的样子
 printf("\r");
}
system("pause");
}

#12


#include <cstdlib>
#include <cstdio>
#include <time.h>
#include <windows.h>
void main()
{
int i=0;
char ch[]={'\\','|','/','-'};
char chr[] = {'/','|','\\','-'};
srand(time(NULL));
int a[10];
for (int j = 0;j < 10; j++)
a[j] = rand()%4;
while(i++<1000)
{
for(j = 0; j < 5; j++)
printf("%c%c%c%c%c%c%c%c%c%c",
ch[(i+a[0])%4],chr[(i+a[1])%4],
ch[(i+a[2])%4],chr[(i+a[3])%4],
ch[(i+a[4])%4],chr[(i+a[5])%4],
ch[(i+a[6])%4],chr[(i+a[7])%4],
ch[(i+a[8])%4],chr[(i+a[9])%4]);
Sleep(100);                  //运行100多秒,就是快两分钟的样子
for(j=0;j<5;j++)
printf("\b\b\b\b\b\b\b\b\b\b");
}
system("pause");
}

#13


Sleep(100); //运行100毫秒

#14


To yzwpf():
  不好意思,我是指整个循环,也就是这种画面大概持续100多秒,所以我没有说是精确的100秒,还包括另外的两条指令的时间了,呵呵.