文件读写与字符串处理

头文件

#include<fstream>

可能使用的操作

一、定义一个变量,让这个变量就像一个泄洪口一样,使所需要的文件中的数据从这个小口出来。

        ifstream fin; 相当于是给整个代码这个大布袋,定义一个小口,然后其他文件布袋可以从这个小口里倒米。(企图搞个比喻)

        fin.open("aaa.txt"); 就是对接aaa.txt这个米袋和定义的小口。到这一步就像是int a,fin就是a,意思是,fin作为一个变量,将aaa.txt赋给fin,我们接下来就使用fin代指aaa.txt。

        【以上两个操作可以合成一个,相当于int a = 1。也就是 ifstream fin("aaa.txt");】

        fin.close; 相当于关闭这个小口,米不再往里倒。

        while(!fin.eof) 是一个常用的循环。里面的fin.eof意思就是end of file。所以整体的判断条件就是判断fin所代表的这袋大米是否倒完了。

        

        有个很有趣的点,开始倒米的时候,fin和cin很像。cin是从键盘读入,fin就是从这个代表的文件米袋里倒米。“>>”符号就很形象从一个米袋里面倒米。

        int a;char b;

        cin>>a>>b; 就是从键盘读一个值,把这个值覆盖(或者说赋值)给a/b。该是数就是数,该是字符串就是字符串。

        fin>>a>>b; 也是,不过是从文件读一个值,然后把这个值覆盖给a/b。同样该是数就是数,该是字符串就是字符串。因为文件是固定的,所以相当于输入固定,照着文件顺序安排a/b类型就行。

字符串处理

字符数组初始化方法:

char str[10] = "Hello";
char str[10] = {'H','e','l','l','o','\0'};

这两种居然是等价的写法。要注意就是最后须要有这个\0,所以str[10]最多只能有9个字母

ASCII码:回车13,换行10,空格32。因此只有‘\0’这个东西标志着结束。

如果使用cin一个int型数组,会出错,只好使用for循环。但可以直接cin>>str。

常用字符串处理函数

#include<cstring>

strlen(char *a)字符串长度
strcpy(char *dst, const char *src)字符串复制
strcmp(char a,char b)字符串比较ASCII的大小,相等为0
strcat(char *dst, char *src)字符串连接并存到dst
strncpy(char *dst,const char *src,size n)超n则n,不超则全

strlen和sizeof的区别

srtcmp比较字符串规则与返回值(是一个int)

字符串二维数组

char strs[4][10] = {    //4个元素,每个元素最多10-1长
    "Hello",
    "world",
    "C++",
    "!"};

【写到这里越来越觉得自己白学了几年学😭😭。这些很基本的东西不是不会,只是几乎没用过,不熟练。就是因为一点点这种知识的缺漏,让整个知识体系越学越困难。正好趁着这个假期补一补,我想应该会很有帮助。错的地方估计有很多,但好心的大猩猩(我老婆称这个软件为大猩猩😀)一定会友善地为我指出来,提前谢谢各位大佬!😙】

2024.1.30更新写文件:
ofstream fout("aaa.txt");

也可以写成

ofstream fout;
fout.open("aaa.txt");

类似于ifstream。这里相当于在代码这个米袋里开了个往外倒地小口叫做fout,然后这个小口对接的就是aaa.txt。【先对接才能往里倒(操作)】

fout<<a<<b;

类似cout,(cout相当于在终端/屏幕输出/显示)将a,b写到fout(也就是aaa.txt)中。

使用fout.close将口关闭。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值