读书人

3个I/O有关问题

发布时间: 2012-03-21 13:33:14 作者: rapoo

3个I/O问题
1.一个文件夹中包含几个文本文件,怎样依次读取所有的文本文件并显示。
2.怎样创建一个文本文件到一个指定文件夹,怎样从指定文件夹中读取指定文本文件的内容。
3.怎样判断一个文件夹是否存在(不是文件)。
请各路高手指点迷津
如果不行,能说些其他的思路吗,谢谢了;

[解决办法]
1,用CFileFind 类方法找文件夹下文件名(包括文件夹)
CFileFind find
find.FindFile();
find.FindNextFile();返回值为真即找到了下一个文件,否则寻找结束
IsDirectory()为非
就判断该文件名最后4个字符是不是.txt
2,CFile,FILE都能实现
3,同一,IsDirectory()为真,判决文件夹名和需要找的是否相同

另外,如果要找子文件夹,就用第归好了

具体代码自己去搞定,你自己不能什么事都不做
[解决办法]
第二个问题
#include<fstream>
读文件 ifstream("file path")
写文件 ofstream("file path")
[解决办法]
打开文件 如果要打开多个文件用for循环 打开文件要在一个目录下
#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE * in; /* in是用来指向a */
char a[10],g;
scanf("%s",&a); /*a[10]是输入要打开的文件名 */
if((in=fopen(a,"r"))==NULL)
{printf("cannot open file\n");
exit(0);}
g=fgetc(in);
while(g!=EOF)
{putchar(g);
g=fgetc(in);}
fclose(in);
}




第二个找到指定的文件夹并在里面建文件 读出来可以采用第一种法
#include <stdio.h>
#include <dir.h>
#include <io.h>
main()
{
char b[10],c[10]; /* b[10]用来输入已经建好的文件夹路径 */
scanf("%s",&b);
chdir(b);
scanf("%s",c); /* c[10]用来输入要建立的文件(生成的文件是只读 */
creat(c,6);
}

以上我全测试通过

读书人网 >C++

热点推荐