c++ Primer Plus 第6章

cctype 库

isalnum(char c):判断字符是否是字母或数字。
isalpha(char c):判断字符是否是字母。
isdigit(char c):判断字符是否是数字。
islower(char c):判断字符是否是小写字母。
isupper(char c):判断字符是否是大写字母。
isspace(char c):判断字符是否是空白字符(空格、制表符、换行符等)。
tolower(char c):将字符转换为小写字母。
toupper(char c):将字符转换为大写字母。

?运算符

expression1 ? expression2 : expression3

如果expression1 为true 则表达式的值为expression2 ,否则为expression3.

continue和break

continue跳过循环体剩余部分,开始新一轮循环

break跳过循环剩余部分,到达下一条语句 

输错误内容重新输入: 

while (!cin >> arr[i])
{
    cin.clear(); //重置shuru
    while (cin.get() != '\n')
        continue;
}

 简单文件输入/输出:

<1>文件输出(写入)

头文件包含fstream

定义一个用于输出的ofstream类

用.open("filename")将文件和定义的ofstream类关联起来

#include <iostream>
#include <fstream>

int main() {
    std::ofstream outFile("output.txt"); // 创建一个输出文件流对象

    if (outFile.is_open()) { // 判断是否成功打开文件
        outFile << "Hello, File Output!" << std::endl; // 向文件中写入数据
        outFile.close(); // 关闭文件流
        std::cout << "文件写入完成" << std::endl;
    } else {
        std::cout << "无法打开文件" << std::endl;
    }

    return 0;
}

注意:"打开已有文件,以接受写入时,默认将其长度截断为零,因此原来的内容将会丢失.因此程序原打开文件时需要检查文件是否存在.或者打开已有文件,是否有权限进行访问,会失败,需要检测打开文件操作是否成功

        检查文件是否存在:

#include <iostream>
#include <fstream>

int main() {
    std::string filename = "existing_file.txt";
    std::ifstream file(filename);

    if (file) { // 文件存在,可以进行读取操作
        std::cout << "文件存在" << std::endl;
    } else { // 文件不存在
        std::cout << "文件不存在" << std::endl;
    }

    return 0;
}

        检测打开文件操作是否成功:

#include <iostream>
#include <fstream>

int main() {
    std::string filename = "nonexistent_file.txt";
    std::ofstream file(filename);

    if (file.is_open()) { // 文件成功打开
        std::cout << "文件打开成功" << std::endl;
        // 可以进行写入操作
        file << "写入内容" << std::endl;
        file.close();
    } else { // 文件无法打开
        std::cout << "文件打开失败" << std::endl;
    }

    return 0;
}

<2>文件输入(读取)

#include <iostream>
#include <fstream>
#include <string>

int main() {
    std::ifstream inFile("input.txt"); // 创建一个输入文件流对象

    if (inFile.is_open()) { // 判断是否成功打开文件
        std::string line;
        while (std::getline(inFile, line)) { // 逐行读取文件内容
            std::cout << line << std::endl; // 输出每一行的内容
        }
        inFile.close(); // 关闭文件流
    } else {
        std::cout << "无法打开文件" << std::endl;
    }

    return 0;
}

标准的检测文件输出没问题(没到EOF,类型不匹配,文件受损)代码

while (inFile >> value)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值