gpt4 book ai didi

c++ - 为git存储库制作一个c文件

转载 作者:行者123 更新时间:2023-11-28 06:28:59 27 4
gpt4 key购买 nike

我对 Ubuntu 和 PuTTY 非常陌生,无法将 C++ 文件放入其中,但我的 C++ 文件有问题。我需要程序做的是从 Ubuntu 端获取一个字符串,放入 C++ 程序中,让它计算输入的字符串数量,然后像这样发回:

./myfile Supplying arguments now
Argument #0: ./myfile
Argument #1: Supplying
Argument #2: arguments
Argument #3: now
Number of arguments printed: 4

所以,当我在下面运行我的程序时,程序会一直运行下去,我无法单步执行。是什么原因造成的,为什么和/或我能做些什么来解决这个问题?

#include <stdio.h>
#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
int count = 0;
while (*argv[argc] != NULL)
{
count++;
}
cout << count << endl;
system("PAUSE");
return 0;
}

最佳答案

您的代码是一个无限循环,因为您的 while 循环总是检查相同的条件。那是因为 argc 永远不会更改您的代码。

你想写的是while (*argv[count] != NULL)。但是,您的意思也不正确。

  1. C 不检查数组边界。当您读取超过数组边界时,您不一定会遇到 0 值。您将读取该位置内存中的随机垃圾数据。
  2. 你不需要自己计算参数的数量,因为you already have it in the variable argc .

因此,迭代所有命令行参数的更好解决方案是 for 循环,它将 count0 递增到 argc

关于c++ - 为git存储库制作一个c文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27986211/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com