linux c 数组拷贝函数,Linux 标准C语言函数总结

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

文件操作函数:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

261. fopen:打开文件:FILE* fopen(const char *name, const char *mod);

返回值:成功:FILE* 失败:NULL

其中mod的取值有:

r 打开只读文件,该文件必须存在。

r+ 打开可读写的文件,该文件必须存在。

w 打开只写文件,若文件存在则文件长度清为0,

即该文件内容会消失。若文件不存在则建立该文件。

w+ 打开可读写文件,若文件存在则文件长度清为零,

即该文件内容会消失。若文件不存在则建立该文件。

a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,

写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)

a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,

写入的数据会被加到文件尾后,即文件原先的内容会被保留。原来的EOF符不保留)

还可加入“b”表示二进制文件操作。

由此我们使用时,经常使用方法有,

r+ 读写,必须存在,文件指针在开始?

w+ 清空读写,不存在则创建

a+ 追加读写,不存在则创建,文件指针在结束

2. fflush:清空缓冲区写入。int fflush(FILE *stream);

成功:0,失败:EOF

3. fclose:关闭文件流。int fclose(FILE *stream);

成功:0,失败:EOF

4. remove:删除文件。 int remove(char *name);

成功:0

5. rename:重命名文件。int rename(char *oldname, char *newname);

成功:0

格式化输入输出函数:1. int printf(const char *format, ...);

2. int sprintf(char *s, char *format,……);打印到字符串s。

返回实际写入字节数。出错返回负数

常用场合:.打印整数到字符串 sprintf(s, "%d", a);

.打印十进制为十六进制 sprintf(s, "%x", 1234);

.控制打印浮点数格式 sprintf(s, "%.3f", 1234.3456);

.连接多个字符串 sprintf(s, "%.7s%.5s", "1234","sdfgh");

在连接两个字符数组,非字符串时通过制定精度可完成strcat不能完成的工作。

还可以动态制定精度,sprintf(s, "%.*s%.*s", a1, "1234", a2, "sdfgh"),

其中a1,a2为动态精度变量,表示最长取字符串中多少长度

.打印地址 sprintf(s, "%08u", a);

3. int fprintf(FILE *stream, const char *format, ...); 按照format格式写入到文件流中。

4. int scanf(const char *format, ...); 标准输入输入

5. int fscanf(FILE *stream, const char *format, ...); 文件输入

6. int sscanf(const char * s, const char *format, ...); 字符串输入

字符输入/输出函数:1. int fgetc(FILE *stream); 从文件中读出一字符。到文件末尾或出错返回EOF。

2. int fputc(int c, FILE *stream); 将字符c写入FILE中。出错返回EOF。

3. int getchar();标准输入读入一个字符。以Enter结束输入,最后的回车符也会放入缓冲区。

4. int putchar(int c);输出到标准输出。

5. int ungetc(int c, FILE *stream); 回写到文件 出错返回EOF。

6. char *fgets(char *s, int n, FILE *stream);

读出最多n-1个字符,或遇到换行符终止存入s,并在*s上后加'

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C语言中,可以通过编写一个数组去重函数来实现对数组中重复元素的去除。以下是一个示例的数组去重函数调用的介绍: 假设我们有一个整型数组`arr`,长度为`n`,我们想要对该数组进行去重操作。可以按照以下步骤进行: 1. 定义一个新的数组`result`,用于存储去重后的元素。 2. 遍历原始数组`arr`,逐个检查每个元素是否已经存在于`result`数组中。 3. 如果当前元素不存在于`result`数组中,则将其添加到`result`数组中。 4. 最后,`result`数组中存储的就是去重后的元素。 下面是一个示例的C语言代码,展示了如何调用一个数组去重函数: ```c #include <stdio.h> // 数组去重函数 int* removeDuplicates(int* arr, int n, int* resultSize) { int* result = (int*)malloc(n * sizeof(int)); // 分配内存空间 int count = 0; // 记录去重后的元素个数 for (int i = 0; i < n; i++) { int j; for (j = 0; j < count; j++) { if (arr[i] == result[j]) { break; // 当前元素已存在于result数组中,跳出内层循环 } } if (j == count) { result[count++] = arr[i]; // 当前元素不存在于result数组中,添加到result数组中 } } *resultSize = count; // 更新去重后的元素个数 return result; } int main() { int arr[] = {1, 2, 3, 2, 4, 1, 5}; int n = sizeof(arr) / sizeof(arr[0]); int resultSize; int* result = removeDuplicates(arr, n, &resultSize); printf("去重后的数组:"); for (int i = 0; i < resultSize; i++) { printf("%d ", result[i]); } free(result); // 释放内存空间 return 0; } ``` 运行上述代码,输出结果为: ``` 去重后的数组:1 2 3 4 5 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值