TC中怎样删除文本文件中某一位置的字符?
解决时间 2021-02-28 20:27
- 提问者网友:喧嚣尘世
- 2021-02-28 11:26
我是想用turbo c在文本文件编辑时实现退格操作……但用了fseek 和 fputc 发现无效 ……
用\b是没用的好像 会输出一个字符 但在文本文件中没有回格作用
问一个这段代码为什么一运行就崩溃?
#include
main()
{
FILE *fp;
fp=fopen("c:\\TC\\t.txt","r+");
fputc('a',fp);
fseek(fp,-2L,SEEK_CUR);
fputc(' ',fp);
fputc('b',fp);
fclose(fp);
}
最佳答案
- 五星知识达人网友:北方的南先生
- 2021-02-28 12:41
崩溃是因为你刚打开文件,输入一个字符,此时位置指针指在第二个字符处,
而这一句 fseek(fp,-2L,SEEK_CUR); 为位置指针从当前往前移两个字符,自然会出错。
全部回答
- 1楼网友:持酒劝斜阳
- 2021-02-28 14:14
settextstyle()函数,可以设定图形方式下输出文本字符这字体和大小但对于笔划型字体(除8*8点阵字以个的字体), 只能在水平和垂直方向以相同的放大倍数放大。 为此turbo c2.0又提供了另外一个setusercharsize() 函数,对笔划字体可以分别设置水平 和垂直方向的放大倍数。该函数的调用格式为: void far setusercharsize(int mulx, int divx, int muly, int divy); 该函数用来设置笔划型字和放大系数,它只有在settextstyle()函数中的charsize为0(或user_char_size)时才起作用,并且字体为函数settextstyle()规定的字体。 调用函数setusercharsize()后,每个显示在屏幕上的字符都以其缺省大小乘以mulx/divx为输出字符宽,乘以muly/divy为输出字符高。 该函数的用法见下例。 #include #include int main() { int gdriver, gmode; gdriver=detect; initgraph(&gdriver, &gmode, "c:\\caic\\bgi"); setbkcolor(blue); cleardevice(); setfillstyle(1, 2); setcolor(white); rectangle(100, 100, 330, 380); floodfill(50, 50, 14); setcolor(12); settextstyle(1, 0, 8); outtextxy(120, 120, "very good"); setusercharsize(2, 1, 4, 1); setcolor(15); settextstyle(3, 0, 5); outtextxy(220, 220, "very good"); setusercharsize(4, 1, 1, 1); settextstyle(3, 0, 0); outtextxy(180, 320, "good"); getch(); closegraph(); return 0; }
我要举报
大家都在看
推荐资讯