Re: [問題] C++ ifstream 問題
看板C_and_CPP (C/C++)作者j129008 (j129008)時間15年前 (2010/08/14 20:05)推噓0(0推 0噓 11→)留言11則, 2人參與討論串2/2 (看更多)
經過我後來的修改
還是有些疑惑沒有解開
新打的程式碼:
#include<iostream>
#include<fstream>
using namespace std;
ifstream InputFile;
char list[10][20];
int j=0,file_num=3;
const int line=0; //list[2][] 存著file1.txt
int main(){
list[line][0]='f';
list[line][1]='i';
list[line][2]='l';
list[line][3]='e';
list[line][4]='1';
list[line][5]='.';
list[line][6]='t';
list[line][7]='x';
list[line][8]='t';
list[line][9]='\0'; //如果說是\0的問題的話滿奇怪的
for(j=0;j<=file_num;j++){ // 按順序打開list[0~3]並讀入
InputFile.open(list[j],ifstream::in); //讀入
cout<<list[j]; //檢查到底list[j]裡存了啥
while(InputFile.good())cout<<(char)InputFile.get();
getchar();
}
/*
執行步驟:
讀入並印出list[0] (空)
讀入並印出list[1] (空)
讀入並印出list[2] (file1.txt)
印出file1.txt
印出file1.txt的內容
讀入並印出list[3] (空)
close InputFile
*/
InputFile.close();
}
問題:
為什麼明明list[2]讀的到東西沒錯
加上如果是\0的問題
我在結尾加上了\0
還是沒有用阿
可是卻打不開檔案?
如果真的是這樣的話
改成list[0]存放file1.txt卻可以成功?
比較奇怪的是
為什麼我把for loop改掉
改成list[line]就沒有問題了????
就可以正常的印出
實際上這是是個測試檔案
原版的程式
必須用到for loop
希望能得到好心人的解答!!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.115.79.203
→
08/14 20:47, , 1F
08/14 20:47, 1F
→
08/14 20:47, , 2F
08/14 20:47, 2F
→
08/14 20:48, , 3F
08/14 20:48, 3F
→
08/14 20:49, , 4F
08/14 20:49, 4F
→
08/14 20:50, , 5F
08/14 20:50, 5F
→
08/14 20:51, , 6F
08/14 20:51, 6F
→
08/14 20:51, , 7F
08/14 20:51, 7F
→
08/14 20:52, , 8F
08/14 20:52, 8F
→
08/15 14:16, , 9F
08/15 14:16, 9F
→
08/15 14:18, , 10F
08/15 14:18, 10F
→
08/15 14:21, , 11F
08/15 14:21, 11F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章