gpt4 book ai didi

c++ - 文件在多个程序中持续无法打开

转载 作者:太空宇宙 更新时间:2023-11-04 13:23:39 26 4
gpt4 key购买 nike

上周,我无法在 Xcode 中打开文件。我想知道为什么它不起作用,以及如何解决它。

我在堆栈溢出中发布了两个问题 herehere ,收到了很好的建议,但没有解决方案。

此外,我还有另一个程序here它可以很好地打开文件,没有任何问题...我不知道为什么一个打开文件,另一个没有。 (提醒,我最近的程序都没有打开文件。)

{更新:在这篇文章之前检查上面的程序,现在它失败了,说文件不存在......这个程序在昨天运行,我做了 对其进行更改。我保证它正在工作...那么为什么我突然遇到文件问题?

为了确定,我已经:

  1. 转到构建阶段 >> 复制文件 >> 添加文件,将两个文件都添加到绝对路径
  2. 检查文件和我的代码的拼写

这是一个简单的程序,应该打开一个文本文件,然后打印内容,即“testing 1 2 3”——除了它没有:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() {

fstream inFile;

string words;

inFile.open("test.txt");
if (!inFile) {
cout << "Failure." << endl;
exit(1);
}

getline(inFile, words);

cout << words << endl;


return 0;
}

这个程序每次都失败(我的其他程序也是如此)。

这是我的输出:

失败。

程序以退出代码结束:1

在语句 inFile.open("test.txt"); 处设置断点,我得到:

Printing description of inFile:
(std::__1::fstream) inFile = {
std::__1::basic_iostream<char, std::__1::char_traits<char> > = {
std::__1::basic_istream<char, std::__1::char_traits<char> > = {
std::__1::basic_ios<char, std::__1::char_traits<char> > = {
std::__1::ios_base = {
__fmtflags_ = 4098
__precision_ = 6
__width_ = 0
__rdstate_ = 0
__exceptions_ = 0
__rdbuf_ = 0x00007fff5fbff4f8
__loc_ = 0x00007fff7b718c30
__fn_ = 0x0000000000000000
__index_ = 0x0000000000000000
__event_size_ = 0
__event_cap_ = 0
__iarray_ = 0x0000000000000000
__iarray_size_ = 0
__iarray_cap_ = 0
__parray_ = 0x0000000000000000
__parray_size_ = 0
__parray_cap_ = 0
}
__tie_ = 0x0000000000000000
__fill_ = -1
}
__gc_ = 0
}
std::__1::basic_ostream<char, std::__1::char_traits<char> > = {
std::__1::basic_ios<char, std::__1::char_traits<char> > = {
std::__1::ios_base = {
__fmtflags_ = 4098
__precision_ = 6
__width_ = 0
__rdstate_ = 0
__exceptions_ = 0
__rdbuf_ = 0x00007fff5fbff4f8
__loc_ = 0x00007fff7b718c30
__fn_ = 0x0000000000000000
__index_ = 0x0000000000000000
__event_size_ = 0
__event_cap_ = 0
__iarray_ = 0x0000000000000000
__iarray_size_ = 0
__iarray_cap_ = 0
__parray_ = 0x0000000000000000
__parray_size_ = 0
__parray_cap_ = 0
}
__tie_ = 0x0000000000000000
__fill_ = -1
}
}
}
__sb_ = {
std::__1::basic_streambuf<char, std::__1::char_traits<char> > = {
__loc_ = (__locale_ = 0x00007fff7b718c30)
__binp_ = 0x0000000000000000
__ninp_ = 0x0000000000000000
__einp_ = 0x0000000000000000
__bout_ = 0x0000000000000000
__nout_ = 0x0000000000000000
__eout_ = 0x0000000000000000
}
__extbuf_ = 0x0000000102001000 ""
__extbufnext_ = 0x0000000000000000
__extbufend_ = 0x0000000000000000
__extbuf_min_ = ""
__ebs_ = 4096
__intbuf_ = 0x0000000000000000
__ibs_ = 0
__file_ = 0x0000000000000000
__cv_ = 0x00007fff7b718a40
__st_ = (__mbstate8 = "", _mbstateL = 0)
__st_last_ = (__mbstate8 = "", _mbstateL = 0)
__om_ = 0
__cm_ = 0
__owns_eb_ = true
__owns_ib_ = false
__always_noconv_ = true
}
}
(lldb)

并在 if(!inFile) 设置断点...我得到(对我来说看起来完全一样):

  Printing description of inFile:
(std::__1::fstream) inFile = {
std::__1::basic_iostream<char, std::__1::char_traits<char> > = {
std::__1::basic_istream<char, std::__1::char_traits<char> > = {
std::__1::basic_ios<char, std::__1::char_traits<char> > = {
std::__1::ios_base = {
__fmtflags_ = 4098
__precision_ = 6
__width_ = 0
__rdstate_ = 4
__exceptions_ = 0
__rdbuf_ = 0x00007fff5fbff4f8
__loc_ = 0x00007fff7b718c30
__fn_ = 0x0000000000000000
__index_ = 0x0000000000000000
__event_size_ = 0
__event_cap_ = 0
__iarray_ = 0x0000000000000000
__iarray_size_ = 0
__iarray_cap_ = 0
__parray_ = 0x0000000000000000
__parray_size_ = 0
__parray_cap_ = 0
}
__tie_ = 0x0000000000000000
__fill_ = -1
}
__gc_ = 0
}
std::__1::basic_ostream<char, std::__1::char_traits<char> > = {
std::__1::basic_ios<char, std::__1::char_traits<char> > = {
std::__1::ios_base = {
__fmtflags_ = 4098
__precision_ = 6
__width_ = 0
__rdstate_ = 4
__exceptions_ = 0
__rdbuf_ = 0x00007fff5fbff4f8
__loc_ = 0x00007fff7b718c30
__fn_ = 0x0000000000000000
__index_ = 0x0000000000000000
__event_size_ = 0
__event_cap_ = 0
__iarray_ = 0x0000000000000000
__iarray_size_ = 0
__iarray_cap_ = 0
__parray_ = 0x0000000000000000
__parray_size_ = 0
__parray_cap_ = 0
}
__tie_ = 0x0000000000000000
__fill_ = -1
}
}
}
__sb_ = {
std::__1::basic_streambuf<char, std::__1::char_traits<char> > = {
__loc_ = (__locale_ = 0x00007fff7b718c30)
__binp_ = 0x0000000000000000
__ninp_ = 0x0000000000000000
__einp_ = 0x0000000000000000
__bout_ = 0x0000000000000000
__nout_ = 0x0000000000000000
__eout_ = 0x0000000000000000
}
__extbuf_ = 0x0000000102001000 ""
__extbufnext_ = 0x0000000000000000
__extbufend_ = 0x0000000000000000
__extbuf_min_ = ""
__ebs_ = 4096
__intbuf_ = 0x0000000000000000
__ibs_ = 0
__file_ = 0x0000000000000000
__cv_ = 0x00007fff7b718a40
__st_ = (__mbstate8 = "", _mbstateL = 0)
__st_last_ = (__mbstate8 = "", _mbstateL = 0)
__om_ = 0
__cm_ = 0
__owns_eb_ = true
__owns_ib_ = false
__always_noconv_ = true
}
}
(lldb)

最佳答案

简短的回答是,我的项目被破坏了,因为它试图在以前的项目已经存在的路径中运行一个项目。一旦我完全删除并重新开始,我的程序就可以正常工作了。

虽然我没有对原始项目进行任何更改,但我在同一目录中启动了一个新项目,这导致了我所有的问题。

关于c++ - 文件在多个程序中持续无法打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34100250/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com