CodeLite IDE 没有读取文件
CodeLite IDE is not reading file
所以我在 CodeLite 的工作区内有一个 Test 文件夹,在我的 Test 文件夹内有:
main.cpp
test.txt
问题是每当我尝试从 test.txt 读取时,编译器都会删除文件内容并在我的 test.txt 文件中写入“Debug/main.cpp.o”。例如,如果我的 txt 文件包含以下文本:
Abcd ef
还有我的代码 main.cpp:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
string data;
ifstream infile;
infile.open("text.txt");
cout << "Reading from the file" << endl;
infile >> data;
return 0;
}
当我 运行 我的代码输出应该是:
Reading from file
Abcd
ef
但是,输出是:
Reading from file
现在我的 test.txt 包含:
Debug/main.cpp.o
我还插入了我的文件夹中包含的内容:
我不知道为什么会这样。有人可以帮忙吗?
发生这种情况是因为您没有 use/printed 数据变量。
使用此代码
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main(){
string data;
ifstream infile;
infile.open("test.txt");
cout<<"Reading from file"<<endl;
while (getline(infile,data))
{
cout<<data<<endl;
}
return 0;
}
Codelite 生成 $(project).txt
($(project)
在你的情况下是 Test
),所有对象文件名用于编译(如 response file(绕过命令行长度限制,当文件太多)).
要么将项目放在另一个目录中,要么重命名文件或项目以避免与该文件发生冲突。
所以我在 CodeLite 的工作区内有一个 Test 文件夹,在我的 Test 文件夹内有:
main.cpp
test.txt
问题是每当我尝试从 test.txt 读取时,编译器都会删除文件内容并在我的 test.txt 文件中写入“Debug/main.cpp.o”。例如,如果我的 txt 文件包含以下文本:
Abcd ef
还有我的代码 main.cpp:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
string data;
ifstream infile;
infile.open("text.txt");
cout << "Reading from the file" << endl;
infile >> data;
return 0;
}
当我 运行 我的代码输出应该是:
Reading from file
Abcd
ef
但是,输出是:
Reading from file
现在我的 test.txt 包含:
Debug/main.cpp.o
我还插入了我的文件夹中包含的内容:
我不知道为什么会这样。有人可以帮忙吗?
发生这种情况是因为您没有 use/printed 数据变量。 使用此代码
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main(){
string data;
ifstream infile;
infile.open("test.txt");
cout<<"Reading from file"<<endl;
while (getline(infile,data))
{
cout<<data<<endl;
}
return 0;
}
Codelite 生成 $(project).txt
($(project)
在你的情况下是 Test
),所有对象文件名用于编译(如 response file(绕过命令行长度限制,当文件太多)).
要么将项目放在另一个目录中,要么重命名文件或项目以避免与该文件发生冲突。