首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++文本文件操作解决方法

2012-10-20 
C++文本文件操作要求功能如下:1:能够直接对已存在的文本文件(例如txt文件)进行读取2:能够查询文本文件中的

C++文本文件操作
要求功能如下:
1:能够直接对已存在的文本文件(例如txt文件)进行读取
2:能够查询文本文件中的记录
3:能够删除符合查询条件的记录
4:能够对记录进行排序

[解决办法]

C/C++ code
#include<stdio.h>#include<string.h>void help(); // 调用使用帮助#define LINE_SIZE 255int main(int argc, char* argv[]){    if ((1 == argc) || (2 == argc)) {    //错误输入处理        help();        return -1;    }    FILE* input = fopen(argv[2], "r"); // 数据输入文件    if (ferror(input)) {        printf("文件错误:不能打开输入文件: %s \n", argv[2]);        help();        return -1;    }    FILE* outfile;    if (3 < argc)  // 如果没有输出文件,输出到屏幕        outfile = fopen(argv[3], "w"); // 输出结果文件    else        outfile = stdout;    char line[LINE_SIZE]; // 读取一行 字符串    char* ps;    char* Value = argv[1];    printf("正在搜索文件: %s  ...........\a\n", argv[2]);    while (fgets(line, LINE_SIZE , input)) {  // 读取每一行        if (ps = strstr(line, Value)) {  // strstr 功能:返回一个指针,它指向字符串中首次出现于Value中的位置,如果没有找到,返回NULL            ps = line; // ps   恢复到行首            fputs(ps , outfile);  // 输出结果        }    }    return 0;}void help(){    printf("本工具可以从文件中按关键字搜索数据行 [C语言版本] BY Hong Wenjun\n\n");    printf("示例 1 :D:\\>LineExtraction.exe  \"关键字\"  D:\\原始数据.txt  \n");    printf("示例 2 :D:\\>LineExtraction.exe  \"关键字\"  D:\\原始数据.txt  D:\\数据结果.txt\n");    printf("\n输出文件不填,结果显示在屏幕上\a\n");} 

热点排行