Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.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++ 如何在c++;_C++_Line_Eol - Fatal编程技术网

C++ 如何在c++;

C++ 如何在c++;,c++,line,eol,C++,Line,Eol,所以我知道如何使用cin.get(),以及如何使用缓冲区,我是这么想的。下面是一个示例程序,它为一个表获取n(行数)和m(列数)。然后获取n*m个字符,将它们保存在数组中并输出: #include <bits/stdc++.h> using namespace std; int n, m; char in; char a[100][100]; int main() { cin >> n >> m; for(int i = 0;i < n;

所以我知道如何使用
cin.get()
,以及如何使用缓冲区,我是这么想的。下面是一个示例程序,它为一个表获取n(行数)和m(列数)。然后获取n*m个字符,将它们保存在数组中并输出:

#include <bits/stdc++.h>
using namespace std;
int n, m;
char in;
char a[100][100];
int main()
{
    cin >> n >> m;
    for(int i = 0;i < n; ++i)
    {
        for(int j = 0;j < m; ++j)
        {
            cin.get(in);
                a[i][j] = in;
            if(j == m - 1)
                cin.get();
        }
    }
for(int i = 0;i < n; ++i)
{
    for(int j = 0;j < m; ++j)
    cout <<a[i][j];
    cout << endl;
}
    return 0;
}
#包括
使用名称空间std;
int n,m;
炭素;
字符a[100][100];
int main()
{
cin>>n>>m;
对于(int i=0;icout当您输入n和m时,cin.get()将立即从数字后面的字符开始,该字符可以是空格或新行。因此,您期望的输入和您获得的输入之间可能会发生偏移。这会导致忽略每m个字符,即使不是换行符,也会读取一些换行符,而不是另一个字符

提取完数字后,在第一行之前使用cin.ignore()字符会更安全


同样,如果您希望换行,请检查您跳过的每个第n个字符。

如果您不需要endl和空格字符,则必须使用cin

只需将cin.get()替换为cin>>

#include <bits/stdc++.h>
using namespace std;
int n, m;
char in;
char a[100][100];
int main()
{
    cin >> n >> m;
    for(int i = 0;i < n; ++i)
    {
        for(int j = 0;j < m; ++j)
        {
            cin>>in;
                a[i][j] = in;
        }
    }
for(int i = 0;i < n; ++i)
{
    for(int j = 0;j < m; ++j)
    cout <<a[i][j];
    cout << endl;
}
    return 0;
}
#包括
使用名称空间std;
int n,m;
炭素;
字符a[100][100];
int main()
{
cin>>n>>m;
对于(int i=0;i>中;
a[i][j]=in;
}
}
对于(int i=0;i你能给我们介绍一个输入示例吗?
#include
加上
使用名称空间std;
是一个危险的操作。它使用了一个非标准头,仅用于g++中的预编译头,几乎包含了整个标准库。这是很多可能会与之冲突的标识符;幸运的是
std
命名空间可防止大屠杀。除了
使用命名空间std;
之外,无需指定
std
命名空间,从而创建了一个由成千上万个标识符组成的雷区,这些标识符具有常见名称,如
字符串
交换
、和
反向
潜伏并等待炸毁程序的机会。性能否是的,我编辑了这个部分!