c++文件读取(一)---输入类使用和查找当前程序路径
鉴于公司人员流动大,设计一个小的日志定位器,首先要读取日志文件
用输入输出流类操作文件比c的stdio更安全和容易,当然任何此类观点都是对大牛除外
首先是查找当前文件路径,如果用GetCurrentDirectory函数的话
问题一:记得不能在打开文件之后,因为这个是当前进程当前目录,而不是进程的镜像文件(.exe)路径,怎么理解呢
假如exe放在:d:\用户目录\我的文档\visual studio 2012\Projects\file,调用GetCurrentDirectory之前如果操作 d:\用户目录\txt 下的文件,那么,最后返回的路径是 d:\用户目录\txt
问题二:
CHAR pathstr[100] ;
GetCurrentDirectory(MAX_PATH,pathstr); 这样用的话 "CHAR *" 类型的实参与 "LPWSTR" 类型的形参不兼容
就算 CHAR pathstr[100] 改成 TCHAR pathstr[100]
此时cout pathstr结果却明显是指针的地址(因为要输出的带中文,跟代码是没有问题的)
有人会说wcout,宽字符输出,其实还是有问题,如下:
其实只要在工程属性里改字符节属性即可,如下
这样最后小工具就可以找到自己的路径,也就可以读取这个路径下的文件,至于怎么遍历这个路径下的文件将放到下一篇
下面输入流使用的教程很多,只放一些简单的代码和最后的效果运行图:
//ifstream inFile;
//inFile.open("test.txt");
ifstream inWordFile("test.txt"); string str;
vector<string> vec;
while(inWordFile >> str)
{
vec.push_back(str);
}
vector<string>::iterator iter;
for(iter = vec.begin();iter != vec.end();iter++)
{
cout << *iter << endl;
}
//string linestr;
//while(getline(inWordFile,linestr)) ---读取行是ok的,只是注释掉而已
//{
// cout << linestr << endl;
//}
运行效果图:
c++文件读取(一)---输入类使用和查找当前程序路径的更多相关文章
- 关于heritrix安装配置时出现”必须限制口令文件读取访问权限”的解决方法
转载:http://www.floatinglife.cn/关于heritrix安装配置时出现必须限制口令文件读取访问 最近开始写一个RSS聚合程序,需要爬虫支持,于是就整来heritrix,没想到, ...
- 配置文件——App.config文件读取和修改
作为普通的xml文件读取的话,首先就要知道怎么寻找文件的路径.我们知道一般配置文件就在跟可执行exe文件在同一目录下,且仅仅在名称后面添加了一个.config 因此,可以用Application.Ex ...
- FileInputStream 读取文件数据的输入字节流
package com.inputstream; /* File类: 用于描述一个文件或者文件夹的. 通过File对象我们可以读取文件或者文件夹的属性数据,如果我们需要读取文件的内容数据,那么我们需要 ...
- [Python] 中文编码问题:raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题
最近研究搜索引擎.知识图谱和Python爬虫比较多,中文乱码问题再次浮现于眼前.虽然市面上讲述中文编码问题的文章数不胜数,同时以前我也讲述过PHP处理数据库服务器中文乱码问题,但是此处还是准备简单做下 ...
- //读取配置文件(属性文件)的工具类-ConfigManager
package com.pb.news.util; import java.io.IOException;import java.io.InputStream;import java.sql.Resu ...
- 读取Excel文件存储在实体类中
1.Maven文件 <!--读取Excel的架包--> <dependency> <groupId>org.apache.poi</groupId> & ...
- CSV文件读取类
最近项目中,经常需要读取Csv文件.基本步骤是: (1)按行读取 (2)然后将一行数据按逗号,分割为字符串数组 (3)将各列字符串转换成相应类型的数据 ,如int double类型 写了一个简单的Cs ...
- 文件读取工具类读取properties文件
1.创建工具类 import java.io.IOException; import java.util.Properties; /** * * 类名称:PropertiesUtil * 类描述: 文 ...
- 读取xlsx文件的内容输入到xls文件中
package com.cn.peitest.excel; import java.io.File; import java.io.FileInputStream; import java.io.Fi ...
随机推荐
- js事件监听器用法实例详解-注册与注销监听封装
本文实例讲述了js事件监听器用法.分享给大家供大家参考.具体分析如下: 1.当同一个对象使用.onclick的写法触发多个方法的时候,后一个方法会把前一个方法覆盖掉,也就是说,在对象的onclick事 ...
- $http post 取不到数据
默认情况下,jQuery传输数据使用Content-Type: x-www-form-urlencoded 和类似于"foo=bar&baz=moe"的序列,然而Angul ...
- document.form.command.value
问题:在一个JSP页面中需要多个提交按钮,每个按钮点击后需要把同一个form提交到不同的页面进行处理 解决:用JS. <html><head><title>一个表单 ...
- easyUI panel组件
easyUI panel组件: 属性的使用: <!DOCTYPE html> <html lang="en"> <head> <meta ...
- MyBatis CRUD Java POJO操作
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...
- pureMVC简单示例及其原理讲解四(Controller层)
本节将讲述pureMVC示例中的Controller层. Controller层有以下文件组成: AddUserCommand.as DeleteUserCommand.as ModelPrepCom ...
- 关于GCD同步组实现多个异步线程的同步执行中的注意点
在App开发中经常会遇到多个线程同时向服务器取数据, 如果每个线程取得数据后都去刷新UI会造成界面的闪烁 也有可能出现部分数据还没有获取完毕造成程序crash 之前在网上看到很多是利用dispatch ...
- Java程序打开指定地址网页
1.今天遇到了需要手动输入http地址打开指定网页的需求,试着做一个用程序打开指定网页的功能,搜了一下,还真有一个现成的例子,稍加改造,实现自己的需求: 2.代码不多,两个文件:如下: package ...
- python yield generator 详解
本文将由浅入深详细介绍yield以及generator,包括以下内容:什么generator,生成generator的方法,generator的特点,generator基础及高级应用场景,genera ...
- 最近总当机,IT帮网站用了1天时间成功搬家
Posted on 2017年1月22日 最近一两周,IT帮的会员.BA学员和AM学员时不时反馈网站打不开.敏捷个人APP登录不了,有时候又可以但是很慢,还有的时候电信能访问而联通网络访问不了. 这个 ...