从特定坐标读取
Read from certain coordinates?
有没有一种方法可以彻底查看哪个字符占据某个坐标。假设我有以下输出:
Hello World !
我想看到y线上的x字符。类似于:
readCoordinates(0,3);
这个函数应该返回"l",因为从第1行开始的第4个字符(因为我从0开始计数)是"l"。我可以用C++从已经打印好的字符串中进行这种类型的读取吗?
您可以考虑定义自己的自定义打印函数,该函数会将您已经输出到控制台的所有内容记录到vector
中。这样,您就可以很容易地从控制台获取一个字符或字符串。
然而,如果输出数千行,它可能会占用大量内存。
您可以从打印的字符串中执行此操作,但打印后,它只是屏幕上的像素或打印机上的墨水。所以,答案是否定的,除非你有一个视觉系统来环顾四周,看看它是在哪里打印的,识别字母和线条,并找出坐标。
"我可以在C++中从已经打印的字符串中进行这种类型的读取吗?"
好的方法是将程序的输出存储在内存中,这样函数readCoordinates
就可以访问O(1)中的随机字符。我肯定会使用std::vector<std::string> outputBuffer
,它会允许你这样做:outputBuffer[0][3]
。
示例:
#include <iostream>
#include <vector>
#include <string>
std::vector<std::string> outputBuffer;
char readCoordinates(int line, int character)
{
if (line < outputBuffer.size() && character < outputBuffer[line].size())
return outputBuffer[line][character];
return 0;
}
int main()
{
std::string myOutput("Hello World !");
outputBuffer.push_back(myOutput);
std::cout << myOutput << std::endl;
if (char c = readCoordinates(0, 3))
std::cout << c << std::endl;
}
输出:
Hello World !
l
相关文章:
- 理解boost::asio-async_read在无需读取内容时的行为
- 使用新行和不使用新行读取文件
- QGraphicsPolygonItem在拖动时未更新QPolygonF坐标
- 读取文件并输入到矢量中
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 无法找到/读取配置文件.conf-FileIOException
- 如何使用Luacneneneba API正确读取字符串和表参数
- 两个'rare'矩阵的总和,读取为坐标 X、坐标 Y 和一个值
- c++ 从大型数组中读取 3D 坐标并计算它们之间的距离
- 如何使用c++在高维Mat:class中读取特定坐标下的数据
- 在没有2D阵列的情况下从矩阵文件中读取坐标
- 在c++中,我如何从文件x,y读取矩形的坐标
- 如何在 c++ 中从文件中读取坐标
- 读取 4 点的坐标.他们做一个正方形吗?
- 从特定坐标读取
- 使用c++从.txt中读取第三个坐标
- 将字节数组从位图图像读取到坐标X和Y中
- 用C++从文本文件中读取坐标