1/* 增 */
#define _CRT_SECURE_NO_WARNINGS // 关闭安全检查
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <string.h>
5 void main()
6 {
7 char path[100] = "C:\\Users\\yakun\\Desktop\\10.txt"; // 文件路径
8 char temppath[100] = { 0 }; // 临时文件的路径
9
10 FILE *pf = fopen(path, "r"); // 根据path路径,按照读的方式打开文件
11 if (pf == NULL)
12 {
13 printf("文件打开失败\n");
14 return;
15 }
16 // tmpnam()函数创建一个独特的文件名并保存在name中
17 tmpnam(temppath); // 创建一个临时文件
18
19 FILE *ptemp = fopen(temppath, "w");
20 if (ptemp == NULL)
21 {
22 printf("临时文件创建失败\n");
23 return;
24 }
25 char str[120];
26 char findstr[30] = "西班牙人";
27
28 // 从原来的文件读取字符串,按行读取,能读就一直读下去
29 while (fgets(str, 120, pf))
30 {
31 char *p = strstr(str, findstr); // 从str里面查找findstr
32
33 if (p == NULL)// 说明没有找到
34 {
35 fputs(str, ptemp);// 正常写入临时文件
36 }
37 else
38 {
39 // 找到要修改的字符串,把修改好的字符串填充上去
40 fputs("火辣辣的情歌,火辣辣的妹子吆\n", ptemp);
41 fputs(str, ptemp);
42 }
43 }
44
45
46 fclose(pf); // 关闭文件
47 fclose(ptemp);
48
49 remove(path);// 删除原来的文件
50
51 rename(temppath, path);// 将临时文件命名为原来的文件
1 /* 删 */
2
3 #define _CRT_SECURE_NO_WARNINGS // 关闭安全检查
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <string.h>
7
8 // 删除步骤:新建一个临时文件,挨个读取字符串,然后写入;遇到要删除
9 //的,就不写入;然后删除原来的文件,将临时文件重命名(可以处理大文件)
10 void main()
11 {
12 char path[100] = "C:\\Users\\yakun\\Desktop\\10.txt"; // 文件路径
13 char temppath[100] = { 0 }; // 临时文件的路径
14
15 FILE *pf = fopen(path, "r"); // 根据path路径,按照读的方式打开文件
16 if (pf == NULL)
17 {
18 printf("文件打开失败\n");
19 return;
20 }
21 // tmpnam()函数创建一个独特的文件名并保存在name中
22 tmpnam(temppath); // 创建一个临时文件
23
24 FILE *ptemp = fopen(temppath, "w");
25 if (ptemp == NULL)
26 {
27 printf("临时文件创建失败\n");
28 return;
29 }
30 char str[120];
31 char findstr[30] = "欲射不能";
32
33 // 从原来的文件读取字符串,按行读取,能读就一直读下去
34 while (fgets(str, 120, pf))
35 {
36 char *p = strstr(str, findstr); // 从str里面查找findstr
37
38 if (p == NULL)// 说明没有找到
39 {
40 fputs(str, ptemp);// 正常写入临时文件
41 }
42 else
43 {
44 // 否则,找到要删除的字符串,就不需要写入
45
46 }
47 }
48
49
50 fclose(pf); // 关闭文件
51 fclose(ptemp);
52
53 remove(path);// 删除原来的文件
54
55 rename(temppath, path);// 将临时文件命名为原来的文件
56
1 /* 查 */
2
3 #define _CRT_SECURE_NO_WARNINGS // 关闭安全检查
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <string.h>
7
8 void main()
9 {
10 char path[100] = "C:\\Users\\yakun\\Desktop\\10.txt"; // 文件路径
11 FILE *pf = fopen(path, "r"); // 根据path路径,按照读的方式打开文件
12 if (pf == NULL)
13 {
14 printf("文件打开失败\n");
15 }
16 else
17 {
18 // 文件打开成功
19 char str[100];
20 char findstr[50] = "你好"; //需要查找的内容
21 // 当fgets的返回值为0,就到了文件末尾,能读就一直读下去
22 while (fgets(str, 100, pf)) // 从文件流读取字符串,最大长度为100
23 {
24 // 查询
25 char *p = strstr(str, findstr);
26
27 if (p != NULL)
28 {
29 printf("找到 %s", str); // 屏幕输出字符串
30 }
31 else
32 {
33 printf("%s", str);
34 }
35 }
36 }
37
38 fclose(pf); // 关闭文件
39
40 system("pause");
41 }
1 /* 改 */
2
3 #define _CRT_SECURE_NO_WARNINGS // 关闭安全检查
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <string.h>
7 void main()
8 {
9 char path[100] = "C:\\Users\\yakun\\Desktop\\10.txt"; // 文件路径
10 char temppath[100] = { 0 }; // 临时文件的路径
11
12 FILE *pf = fopen(path, "r"); // 根据path路径,按照读的方式打开文件
13 if (pf == NULL)
14 {
15 printf("文件打开失败\n");
16 return;
17 }
18 // tmpnam()函数创建一个独特的文件名并保存在name中
19 tmpnam(temppath); // 创建一个临时文件
20
21 FILE *ptemp = fopen(temppath, "w");
22 if (ptemp == NULL)
23 {
24 printf("临时文件创建失败\n");
25 return;
26 }
27 char str[120];
28 char findstr[30] = "一群羊";
29
30 // 从原来的文件读取字符串,按行读取,能读就一直读下去
31 while (fgets(str, 120, pf))
32 {
33 char *p = strstr(str, findstr); // 从str里面查找findstr
34
35 if (p == NULL)// 说明没有找到
36 {
37 fputs(str, ptemp);// 正常写入临时文件
38 }
39 else
40 {
41 // 找到要修改的字符串,把修改好的字符串填充上去
42 fputs("原来是你,大叔,你的节操掉了\n", ptemp);
43
44 }
45 }
46
47
48 fclose(pf); // 关闭文件
49 fclose(ptemp);
50
51 remove(path);// 删除原来的文件
52
53 rename(temppath, path);// 将临时文件命名为原来的文件
1 /* 文件中检索字符串 */
2
3 #define _CRT_SECURE_NO_WARNINGS // 关闭安全检查
4 #include <stdio.h>
5 #include <stdlib.h>
6
7 void main()
8 {
9 char str[30] = "ptemp"; // 要查找的字符串
10 char path[100] = "C:\\Users\\yakun\\Desktop\\1.c";
11
12 char CMD[150];
13 sprintf(CMD, "find /n %s %s", str, path);//格式化搜索指令
14
15 system("CMD");// 执行命令
16
17
18 system("pause");
19 }