相关疑难解决方法(0)

"退格"转义字符'\ b':意外行为?

所以我终于通过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)

有谁能解释一下?

c language-agnostic printf special-characters backspace

91
推荐指数
4
解决办法
13万
查看次数

截断文件

我正在使用fopen fseeko64 ftello64 fclose等来操作文件.

如何截断文件?我知道在C中没有标准的方法可以做到这一点.我想要的是一些适用于任何win32平台的方法.我正在使用mingw gcc进行编译.

请注意:我的意思是将文件的大小截断为指定的大小,而不是将其缩小为0.使用像复制部分到另一个文件和删除/重命名的技巧是不合适的.

c windows winapi

12
推荐指数
3
解决办法
1万
查看次数

是否有任何从打开的文件中删除东西的基本方法

当您使用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中寻找更简单的方法...)(我希望我的英语不是问题)

c

2
推荐指数
1
解决办法
408
查看次数