C C++ 输入输出、内存操作易混点解析

尽管很多人在学C++,但是无论实在多路IO复用服务器还是在QT、嵌入式开发中,C语言凭借其多元化输入输出,及相对C++编译后更小这一优势,仍需要我们进行学习:

为了避免重复定义,先定义文件的基础操作:

#include <stdio>

int main()
{
    File * file;
    file.open("C://input.txt",'w+');
    char a[20];
    char b[20];

}
  •  1.字符输入输出函数 fgetc / fputc                
b[0] = fgetc(file); //从file中读取一个字符
fputc(a[0],file);  //将数组a中第一个字符放于文件中
  •  2.字符串输入输出函数 fgets / fputs
fputs("输出到右侧", file);
fgets(a,5,file);    //从文件读取5个字符到a中。
  • 3.格式化输入输出函数 fprintf / fscanf(重点->常用)
fprintf(file,"%c",a);   //将a中第一个字符以"%c"的格式打印到文件中
fprintf(stdout,"%c",a)  //将a中第一个字符以"%c"的格式打印到标准输出流

fscanf(file,"%c",a)     //将文件中文件指针当前指着的一个字符放入a中
fscanf(stdin,"%c",a)     //将文件中文件指针当前指着的一个字符传到标准输出流
  • 4 二进制输入输出流fread / fwrite
fwrite(a,sizeof(a),1,file);        //将a中内容 1块sizeof(a)大小 数据写入file
fread(a,sizeof(a),1,file);         //从file中读取 1块sizeof(a)大小 数据写入file

 C++ 文件传输相对有些区别,基本文件如下:

#include <iostream>
#include <fstream>

int main()
{
    using namespace std;
    ifstream if;
    ofstream of;
    if.open("C://fileoperator.txt",ios::in);
    of.open("C://fileoperator.txt",ios::out);
    char a;
    char b;
}
  • 1.字符输入输出流 get/put
a = if.get();    //从文件中得到一个字符
of.put(a);       //将写入往文件中
  •  2.行输入输出流 getline
if.getline(a,sizeof(a));  //将文件内容输出到a中
  • 3.二进制输入输出流 read / write
of.write(a,sizeof(a));
of.read(a,sizeof(a));

 C语言mem系列使用

memset(str,0,10);   //将str前10个字符设为0
memcpy(str1,str2,10);    //将str2中前10个字符复制到str1中
memmove(str1,str2,10);    //将str2中前10个字符移动到str1中,保证正确性,效率相对低
memcmp(str1,str2,10)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值