let imageRef = String(format: "images/%@", file.identifier)
let testRef = storageRef.child(imageRef)
let uploadTask = testRef.putData(imageData, metadata: nil) { metadata, error in
if (error != nil) {
// Uh-oh, an error occurred!
print(error?.localizedDescription)
} else {
// Metadata contains file metadata such as size, content-type, and download URL.
let downloadURL = metadata!.downloadURL()!.absoluteString
print(downloadURL)
}
}
这是我想在ncurses中实现的行为。我想将文本内容打印到ncurses窗口而不是控制台。我应该用gettr()和printw()替换getline()而不是字符串吗?
答案 0 :(得分:0)
这是你想要的吗?它改编自一个基本示例here。
#include <fstream>
#include <iostream>
#include <string>
#include <ncurses.h>
int main()
{
std::ifstream inputfile("filew.txt");
std::string line;
initscr();
if(inputfile.is_open())
{
while (inputfile >> line)
{
printw("%s\n", line.c_str());
}
} else
{
printw("didnt find file `file.txt`\n");
}
refresh();
std::cin.ignore();
endwin();
}
由于我们处于c ++世界,我有点害怕异常可能会导致我们退出程序而没有使用endwin
进行清理。因此,我可能会添加一个简单的RAII包装器,以使其异常安全。
e.g。
#include <fstream>
#include <iostream>
#include <string>
#include <ncurses.h>
class ncursewrap
{
public:
ncursewrap() { initscr(); }
~ncursewrap() { endwin(); }
void refresh() { ::refresh(); }
};
int main()
{
std::ifstream inputfile("file.txt");
std::string line;
ncursewrap nc;
if(inputfile.is_open())
{
while (inputfile >> line)
{
printw("%s\n", line.c_str());
}
} else
{
printw("didnt find file `file.txt`\n");
}
nc.refresh();
std::cin.ignore();
}