Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用for循环int声明打开多个文件_C++_For Loop - Fatal编程技术网

C++ 使用for循环int声明打开多个文件

C++ 使用for循环int声明打开多个文件,c++,for-loop,C++,For Loop,我在这里做了一些搜索,但我想我不能清楚地表达我在寻找什么,所以这里是我的帖子: 我有多个类似名称的文件,我想在控制台中一个接一个地打开和显示。这些文件是ascii图像,在显示时可创建动画 文件名为: 8ball 1.txt 8ball2.txt 8ball3.txt 8ball4.txt 我想在for循环中使用'int'声明,以便在每次循环执行时打开列表中的下一个文件 希望下面的代码有意义-我可以使用for循环int声明部分完成文件名吗?还有别的选择吗 void animate2(){ fo

我在这里做了一些搜索,但我想我不能清楚地表达我在寻找什么,所以这里是我的帖子:

我有多个类似名称的文件,我想在控制台中一个接一个地打开和显示。这些文件是ascii图像,在显示时可创建动画

文件名为:

  • 8ball 1.txt
  • 8ball2.txt
  • 8ball3.txt
  • 8ball4.txt
我想在for循环中使用'int'声明,以便在每次循环执行时打开列表中的下一个文件

希望下面的代码有意义-我可以使用for循环int声明部分完成文件名吗?还有别的选择吗

void animate2(){

for(int x=1;x<5;x++){

如果流动画(“8ballanimation//8ball
”8ballanimation//8ball
“8ballanimation//8ball使用C++11,则您拥有
std::to_string

for (int i = 1; i <= 4; i++) {
  std::string path = "8ball" + std::to_string(i) + ".txt";
  std::ifstream animation(path);
  // Do what you want
}

for(inti=1;i使用C++11,您有
std::to_string

for (int i = 1; i <= 4; i++) {
  std::string path = "8ball" + std::to_string(i) + ".txt";
  std::ifstream animation(path);
  // Do what you want
}

for(int i=1;i你到底想用什么来做:
“8ballanimation//8ball我做了,我做了。我是个编码新手:)在C++中,字符串文本不被解析为任何类型的绑定——这将建议运行时处理,C++是编译语言,而不是运行时或基于解释的语言。不相关,但我宁愿使用<代码> SETCONSORCURURSORITS/<代码>(从<代码> <代码>;请参阅)与其用
CLS
清除屏幕,不如用
system
清除屏幕。这有两个原因:使用
系统的速度很慢,因为你正在为动画的每一帧创建一个子进程,而且它会产生一些闪烁,因为在显示下一帧之前控制台会有一段时间是空白的。如果你把光标放回左上角,你可以跳过它在不清除的情况下写入屏幕内容(但不要忘记擦除前一帧中的剩余内容,例如,在每行后面填充空格)。不要使用
while(…eof…
。它不会做你认为它会做的事情。你到底想用它做什么:
“8balanimation//8ball我做了,我做了。我是一个编码新手:)在C++中,字符串文本不被解析为任何类型的绑定——这将建议运行时处理,C++是编译语言,而不是运行时或基于解释的语言。不相关,但我宁愿使用<代码> SETCONSORCURURSORITS/<代码>(从<代码> <代码>;请参阅)与其用
CLS
清除屏幕,不如用
system
清除屏幕。这有两个原因:使用
系统的速度很慢,因为你正在为动画的每一帧创建一个子进程,而且它会产生一些闪烁,因为在显示下一帧之前控制台会有一段时间是空白的。如果你把光标放回左上角,你可以跳过它在不清除的情况下写入屏幕内容(但不要忘记擦除前一帧中的剩余内容,例如在每行后面填充空格)。不要在(…eof…)时使用
while
。它不会做你认为它会做的事。直接从
std::string
构造
ifstream
也是一个C++11特性,在这之前你需要
C_str()
调用。直接从
std::string
构造
ifstream
也是一个C++11特性,在这之前你需要
C_str()
也打电话。可能是打字错误,但你应该使用
ostringstream
:a
istringstream
没有
@Ale,lol,你是对的。将其更改为
stringstream
,没有头痛;)可能是打字错误,但你应该使用
ostringstream
:a
istringstream
没有
@Ale,lol,你是对的。将其更改为
stringstream
,没有头痛;)
for (int i = 1; i <= 4; i++) {
  std::string path = "8ball" + std::to_string(i) + ".txt";
  std::ifstream animation(path);
  // Do what you want
}