亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c語言如何刪除文件中的某一行

小億
791
2023-08-07 22:27:01
欄目: 編程語言

在C語言中,要刪除文件中的某一行,可以實現以下步驟:

  1. 打開待操作的文件,使用fopen()函數打開文件,指定打開方式為讀寫模式(“r+”)。

  2. 創建一個臨時文件,使用fopen()函數創建一個新的臨時文件,并指定打開方式為寫模式(“w”)。

  3. 逐行讀取原文件,并將需要刪除的行過濾掉,將其余行寫入臨時文件。

  4. 關閉原文件和臨時文件。

  5. 刪除原文件,使用remove()函數刪除原文件。

  6. 將臨時文件重命名為原文件,使用rename()函數將臨時文件重命名為原文件。

下面是一個示例代碼:

#include <stdio.h>
void deleteLineFromFile(const char* filename, int line_number) {
FILE *file, *temp;
char ch;
int current_line = 1;
// 打開原文件
file = fopen(filename, "r+");
if (file == NULL) {
printf("無法打開文件\n");
return;
}
// 創建臨時文件
temp = fopen("temp.txt", "w");
if (temp == NULL) {
printf("無法創建臨時文件\n");
fclose(file);
return;
}
// 逐行讀取原文件,將非待刪除行寫入臨時文件
ch = fgetc(file);
while (ch != EOF) {
if (current_line != line_number) {
fputc(ch, temp);
}
if (ch == '\n') {
current_line++;
}
ch = fgetc(file);
}
// 關閉文件
fclose(file);
fclose(temp);
// 刪除原文件
remove(filename);
// 將臨時文件重命名為原文件
rename("temp.txt", filename);
printf("已刪除第 %d 行\n", line_number);
}
int main() {
const char* filename = "example.txt";
int line_number = 3;
deleteLineFromFile(filename, line_number);
return 0;
}

在示例代碼中,將要刪除的文件名作為參數傳遞給deleteLineFromFile()函數,并指定要刪除的行號。函數會逐行讀取原文件并將非待刪除行寫入臨時文件,最后將臨時文件重命名為原文件。運行示例代碼后,將會刪除文件"example.txt"中的第3行。

0
阳泉市| 长泰县| 屯留县| 阳江市| 阿勒泰市| 吉木乃县| 巍山| 两当县| 景洪市| 梧州市| 陈巴尔虎旗| 万宁市| 陆丰市| 虎林市| 皮山县| 连城县| 红河县| 石嘴山市| 闽侯县| 昌吉市| 陇南市| 准格尔旗| 醴陵市| 萨嘎县| 千阳县| 高邑县| 金山区| 金坛市| 望奎县| 汾阳市| 镇原县| 浪卡子县| 特克斯县| 昌都县| 沅陵县| 莱州市| 临安市| 尼木县| 西平县| 宜兰县| 通河县|