相关疑难解决方法(0)

Shift + Enter 与在控制台中输入

我正在尝试捕获通过stdin流输入的所有字符(EOF 除外)。我想输入一个多行文本:每行\n末尾。

int getline(char s[])
{
    printf("Call-getline()\n");

    int c;
    int idx=0;

    while((c=getchar()) != EOF)
    {
        s[idx++] = c;
    }

    printf("\n-EOF found--\n");

    s[idx] = '\0';

    return idx;
}
Run Code Online (Sandbox Code Playgroud)

我不知道如何摆脱\n按 Enter 时得到的那个,我想知道shif+entervs 是否enter alone有什么不同。我阅读了它在 Microsoft Word 中的作用:新段落与换行符。

c enter shift

5
推荐指数
1
解决办法
942
查看次数

如何在while循环中使用.nextInt()和hasNextInt()

所以我希望我的程序读取一个输入,它在一行中有一些整数,例如:

1 1 2

然后它应该分别读取每个整数并以新行打印它.程序必须读取的整数数量不是事先给出的,所以我要做的是使用while循环,在没有更多的整数读取之后结束.这是我写的代码:

while (scan.hasNextInt()) {
    int x = scan.nextInt();
    System.out.println(x);
}
Run Code Online (Sandbox Code Playgroud)

但它没有正常工作,因为循环永远不会结束,它只是希望用户输入更多的整数.我在这里错过了什么?

java input while-loop java.util.scanner

3
推荐指数
2
解决办法
3万
查看次数

Ctrl + D不会阻止应用程序在命令窗口中执行

我写了一个程序来通过XOR加密给定的消息.它有效,但它没有结束.这是代码.(我创建了3个文件):

encrypt.h:

void encrypt(char *message);
Run Code Online (Sandbox Code Playgroud)

message_hider.c:

#include <stdio.h>
#include "encrypt.h"

int main() {
  char msg[80];

  while (fgets(msg, 80, stdin)){
    encrypt(msg);
    printf("%s", msg);
  }

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

encrypt.c:

#include "encrypt.h"

void encrypt(char *message) {
  while (*message) {
    *message++ ^= 0x1f;
  }
}
Run Code Online (Sandbox Code Playgroud)

正如我上面提到的,它有效.但我无法阻止它.当我按下Ctrl + D来停止它(在cmd中)它也加密它.(我需要在加密消息后停止此代码).请解释一下这个案子.

c

1
推荐指数
2
解决办法
2533
查看次数

用c ++读取未知数量的输入

我正在使用C++ Primer一书学习C++.

在1.4.3节中,给出了以下关于读取未知数量输入的示例代码.

#include <iostream>
int main()
{
  int sum = 0, value = 0;
  // read until end-of-file, calculating a running total of all values read
  while (std::cin >> value)
  sum += value; // equivalent to sum = sum + value
  std::cout << "Sum is: " << sum << std::endl;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

根据书中我们给出的输入3 4 5 6,输出将是Sum is: 18

但是当我在我的计算机上尝试这个(带有mingW的Windows 10)时,代码并没有结束.即使我输入换行符,它也会继续询问输入.它仅在我输入非int输入时才有效f.


这是预期的吗?如果是,是否有任何代码在输入换行符后停止?

我对c ++很陌生,而且我已经学过python,所以这么早就陷入困境是非常令人沮丧的.


感谢致敬.

c++ algorithm user-input while-loop c++14

1
推荐指数
1
解决办法
2502
查看次数

在换行出现之前,如何将几个整数作为输入?

我想将几个整数作为输入,直到出现换行符('\n',而不是 EOF),然后将它们放入 anarray或 a 中vector。如何使用 C++ 独有的关键字来做到这一点?

c++ stdin user-input input

-3
推荐指数
1
解决办法
3192
查看次数

标签 统计

c ×2

c++ ×2

input ×2

user-input ×2

while-loop ×2

algorithm ×1

c++14 ×1

enter ×1

java ×1

java.util.scanner ×1

shift ×1

stdin ×1