所以我终于通过K&R阅读,并且我在前几页中学到了一些东西,即有一个退格转义字符\b.
所以我去测试它,并且有一些非常奇怪的行为:
#include <stdio.h>
main ()
{
printf("hello worl\b\bd\n");
}
Run Code Online (Sandbox Code Playgroud)
输出是
hello wodl
Run Code Online (Sandbox Code Playgroud)
有谁能解释一下?
我正在使用fopen fseeko64 ftello64 fclose等来操作文件.
如何截断文件?我知道在C中没有标准的方法可以做到这一点.我想要的是一些适用于任何win32平台的方法.我正在使用mingw gcc进行编译.
请注意:我的意思是将文件的大小截断为指定的大小,而不是将其缩小为0.使用像复制部分到另一个文件和删除/重命名的技巧是不合适的.
当您使用fopen打开.txt文件时是否有任何方法可以删除文件中的某些字符串而无需重写.
例如,这是我将用fopen()打开的txt文件;
-------------
1 some string
2 SOME string
3 some STRING
-------------
Run Code Online (Sandbox Code Playgroud)
我想删除第一个字符为2的行并将其更改为
-------------
1 some string
3 some STRING
-------------
Run Code Online (Sandbox Code Playgroud)
我的解决方案是; 首先读取所有数据并将它们保存在字符串变量中.然后使用w模式打开相同的文件.并且除了第2行之外再次写入数据.(但这不合逻辑我在C中寻找更简单的方法...)(我希望我的英语不是问题)