Copy code
// 输出一行文本
printf("abcdef")
printf("123321456789")
// 使用退格符清除 123321456789
for (int i = 0i <12i++) {
printf("\b \b")
}
输出结果为:
Copy code
abcdef// 123321456789 已被清除掉,abcdef 保留了下来
在上述代码中,我们先打印了两行文本,然后使用循环打印了 12 个退格符,这样就将前一行的内容全部清除掉了。需要注意的是,退格符只能将光标向前移动一个位置,因此需要打印足够多的退格符才能将整行内容全部清除。
C语言文件 *** 作有覆盖和追加两种模式,但不提供插入模式。所以要在文件中指定行进行删除或者插入,需要按照如下流程 *** 作: 1、以只读打开文件; 2、将文件逐行读入到内存中; 3、关闭文件; 4、在内存中对指定行插入或者删除; 5、以只写打开文件; 6、将修改后的数据写入文件; 7、关闭文件。参考代码:假定文件最多100行,执行删除第5行,并在原第8,9行中间插入一行数据为例,代码如下: #include #include char buf[100][1000]int main(){ FILE *fpchar *s="abcdef\n"//要插入的数据 int i=0int n=0fp = fopen("my.txt", "r")//读方式打开文件 while(fgets(buf[n], 1000, fp) != EOF)//循环读取所有数据 n++fclose(fp)//关闭文件。 for(i = 4i<7i ++)//删除第五行 strcpy(buf[i],buf[i+1])strcpy(buf[7], s)//插入到第8行。 fp=fopen("my.txt", "w")//写方式打开文件。 for(i = 0i <ni ++)//写入所有处理后的数据。 fputs(buf[i], 1000, fp)fclose(fp)//关闭文件。 return 0}欢迎分享,转载请注明来源:内存溢出
评论列表(0条)