作者:hacker发布时间:2022-09-05分类:黑客教程浏览:85评论:1
可以使用fseek()来指定文件位置。
函数原型:int fseek(FILE *stream, long offset, int fromwhere);
函数说明:函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere(偏移起始位置:文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。
返回值:如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置,函数返回一个非0值。
示例:向test.txt的末尾添加“this is a text"的字符串。
#include stdio.h
#include string.h
int main()
{
const char * szwrite = " this is a text";
FILE *fp = fopen("test.txt", "a+");
if (fp==0) {
printf("can't open file\n");
return 0;
}
fseek(fp, 0,SEEK_END);
fwrite(szwrite, strlen(szwrite) * sizeof(char), 1, fp);
fclose(fp);
return 0;
}
可以参考下面的代码:
#includestdio.h
#includewindows.h
void main()
{
int row=3, col=1
system("cls");
for (i=0;irow;i++)
printf("\n");
for (j=0;jcol;j++)
printf(" ");
printf("H");
}
扩展资料:
printf()函数介绍:
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。
函数的原型为:int printf(const char *format, ...);
函数返回值为整型。
若成功则返回输出的字符数,输出出错则返回负值。
printf()函数的调用格式为:
printf("格式化字符串", 参量表);
其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出。
参考资料来源:百度百科-printf()
如下
代码
#include
int main (void)
{
char s1[80],s2[80],k,*p1,*p2,*pnew,*s3;
int n1,n2;n1=n2=0;
gets(s1);gets(s2);scanf("%c",k);
p1=s1;p2=s2;
while(*p1)
{ n1++;p1++; }
while(*p2)
{ n2++;p2++;}
pnew=(char *)malloc(sizeof(char)*(n1+n2+1));
if(pnew==NULL)
{printf("分配内存失败!\n");exit(0);}
p1=s1;p2=s2;s3=pnew;
while(*p1)
{
if(*p1!=k)
{*pnew=*p1;p1++; pnew++;}
else if(*p2)
{*pnew=*p2;p2++;pnew++;}
else
{*pnew=*p1;p1++;pnew++;}
}
*pnew='\0';
puts(s3);
free(s3);
return 0;
}
#includestdio.h
#include string.h
int main(void)
{
char a[30];
char b,c;
char *pt;
char *i;
printf("请输入基本字符串:");
scanf("%s", a);
getchar();
while (1)
{
pt = NULL;
while (pt == NULL)
{
printf("请输入插入位置左侧字符:");
scanf("%c", b);
getchar();
pt = strchr(a, b);
}
printf("请输入将插入字符:");
scanf("%c", c);
getchar();
for (i = a+strlen(a)+1; ipt; i--)
{
if (i == pt + 1)
{
a[i-a] = c;
break;
}
a[i-a] = a[i-a-1];
}
printf("结果:%s\n",a);
}
while (1);
}
你非得要i=0,好吧刚刚我看错了
不能理解,但你非要这么写的话,我想到的方法
#includestdio.h
#includestring.h
#define satrtnum 8 //字符串截取的开始位置
void main()
{
char s[]="It is computer";//输出computer
int i;
for(i=0;(i=i+(int)strcpy(s,s+(satrtnum/(satrtnum+i))*satrtnum)*0)strlen(s);i++)
printf("%c",s[i]);
}
你要填的地方,填 (i=i+(int)strcpy(s,s+(satrtnum/(satrtnum+i))*satrtnum)*0)strlen(s)
我调试过了。
这里常量satrtnum 是我为了调试方便设的,你也可以直接把它改成数字。
起始这么写已经没有意义了= =
应该满足你的要求了
c语言控制台在指定位置输出字符代码演示如下:
#include windows.h
void PrintChar(char *ch,UINT count,UINT x,UINT y) //在坐标(x,y)处输出字符串ch,ch里有count个字符
{
HANDLE h=GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
ULONG unuse;
pos.X=x;
pos.Y=y;
CONSOLE_SCREEN_BUFFER_INFO bInfo; // 窗口缓冲区信息
GetConsoleScreenBufferInfo(h, bInfo );
WriteConsoleOutputCharacterA(h,ch,count,pos,unuse);
}
int main()
{
PrintChar("123",3,2,2);
return 0;
}
标签:c指定位置
已有1位网友发表了看法:
访客 评论于 2022-09-06 09:18:01 回复
位置void main(){char s[]="It is computer";//输出computerint i;for(i=0;(i=i+(int)strcpy(s,s+(satrtnum/(satrtnum+i))*satrtnum)*0)strlen(s