【问题标题】:Input to Unsigned Char Array无符号字符数组的输入
【发布时间】:2014-12-01 15:59:36
【问题描述】:

我一直在研究位级别的加密程序,除了一个小细节外,我一切正常,我必须对我的无符号字符进行硬编码......我想做的是提示用户做两件事:

-text,将文本放入我的无符号字符数组(包括空格)中。

-数字,取数字并将它们放入另一个无符号字符数组(无空格)。

文本数组示例:

输入给定:hello world

unsigned char text[11] = {'h','e','l','l','o',' ','w','o','r','l','d'}

给出的数字示例(注意,我不希望数组中的“123”而是 123):

输入给定:123 213 146 178

unsigned char text[4] = {123, 213, 146, 178}

更新:我将文本放入数组并对其进行编码就好了。谢谢您的帮助。明天我会处理插入编码数字的问题。

更新 2:我熬夜了...代码正在解码。在长句上打断。明天会调查。多谢你们! :)

【问题讨论】:

  • 我只是在问一个正确的方向来使用什么。 scanf(),显然不是正确的方法。我只是想知道如何解析数据。当我开始用 java 编码时,我是 C 的新手,所以我正在重做旧代码来学习。我做了更复杂的位比较。我知道如何使用 scanf 提示输入数据并将其单独存储到数组中...我想将其全部放入并分开。
  • “scanf(),显然不是正确的方式”——你是在提问还是在回答? scanf 是多种读取输入的方法之一……没有明显的理由不能使用它,甚至没有明显的原因。
  • @VisioN 如果是家庭作业呢? SO欢迎家庭作业问题。
  • @VisioN 我从来没有要求任何人为我解决这个问题,我要求帮助我研究什么。我在没有吃勺子的情况下学到了很多关于 C 的知识。放松,你能不能从 cmets 看到我完成了它,没有人给我直接的答案。有点难过我不能 fgets(),但我可以微调位。现在我明白你为什么质疑它了

标签: c arrays input char unsigned


【解决方案1】:

不推荐将答案更新为gets()

提示您可以采取的解决问题的方法之一。

对于您问题的第一部分,请使用fgets()

对于第二部分,使用fgets() 获取整个输入,使用空格作为分隔符将它们分解为标记(strtok() 会这样做)并使用atoi() 获取其整数值并将其存储在数组中。

【讨论】:

  • 谢谢,这是我正在寻找的评论类型。
  • @AiguoNgan7: 不使用gets()。它已弃用.. 改为使用 fgets() 请编辑..
  • 从不推荐gets
  • 好的,所以我使用 fgets(myArray,256,stdin) 将输入输入到我的数组中。有没有办法找到输入的字符数?我尝试使用计数器遍历数组以获取 NULL 或 ''。都没有工作...谢谢,strlen -1 工作:D
  • @AiguoNgan7 "strlen -1 working" -- 文件不需要以换行符结尾...最好明确检查是否存在。
【解决方案2】:

我遵循了 Raunak Mukhia 的逻辑,它奏效了! " 不推荐将答案更新为 gets()。

提示您可以采取的解决问题的方法之一。

对于你问题的第一部分,使用 fgets()。

对于第二部分,使用 fgets() 获取整个输入,使用空格作为分隔符将它们分成标记( strtok() 将这样做)并使用 atoi() 获取其整数值并将其存储在数组中。

"

谢谢!

【讨论】:

    猜你喜欢
    • 2020-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-13
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多