*初学者* C:不兼容的整数到指针的转换,将'char'传递给'const char *'类型的参数

事情

我正在尝试将字符串中的每个字母转换为ASCII数字。使用

 int letter = (atoi(ptext[i]));

给我这个错误:

error: incompatible integer to pointer conversion
  passing 'char' to parameter of type 'const char *'; take the
  address with & [-Werror]
    int letter = (atoi(ptext[i]));
                       ^~~~~~~~
                       &
/usr/include/stdlib.h:148:32: note: passing argument to parameter
      '__nptr' here
extern int atoi (__const char *__nptr)

这是我其余部分可能相关的代码:

    #include <cs50.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>

int main(int argc, string argv[])
{

    printf("Give a string to cipher:\n");
    string ptext = GetString();

    int i = 0;

    if (isupper(ptext[i]))
    {
        int letter = (atoi(ptext[i]));
    }
}

我在做什么错,如何解决此问题,以便可以将字符串转换为ASCII值?

注意:cs50.h我可以在主目录中使用“ string”代替“ char*”。

阿图尔

您不需要将字符转换为数字。这是数据解释的问题。

字符'A'可以认为是0x41或65,所以这很好:

int number = 'A';

变量号的值为0x41 / 65或1000001b,具体取决于您要如何显示/处理它。

至于解释:如果将0xFF表示为无符号值,则可将其视为255;当视为有符号并保留在8位中时,则将其视为-1。

所以你的问题是:

可以将字符串转换为ASCII值?

有点错误-字符串中的所有字符都已经是ascii值-这仅取决于您如何对待/打印/解释/显示它们。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将'const char *'传递给类型'char *'的参数将丢弃限定符

来自分类Dev

将'const char *'传递给'char *'类型的参数将丢弃限定符

来自分类Dev

类型“ const char **”的参数与类型“ const char *”的参数不兼容

来自分类Dev

'const char *'类型的参数与'char *'类型的参数不兼容

来自分类Dev

不兼容的指针类型将“char [3]”传递给“FILE *”类型的参数

来自分类Dev

参数类型“ WCHAR *”与类型“ const char *”的参数不兼容

来自分类Dev

“const char*”类型的参数与“Person”类型的参数不兼容

来自分类Dev

在C ++中比较chars-类型为char的参数与类型为const char *的参数不兼容

来自分类Dev

预期的'const char *',但参数在C中的类型为'char **'

来自分类Dev

如何从C#将const char *传递给C函数?

来自分类Dev

将const char *传递给C中的函数

来自分类Dev

将const char *传递给C中的函数

来自分类Dev

“类型为WCHAR *的参数与“ const char *”不兼容”

来自分类Dev

预期的const char *,但参数为char类型

来自分类Dev

将指针传递给char数组作为函数的参数-C

来自分类Dev

我可以将const char *数组传递给execv吗?

来自分类Dev

C ++的初学者。帮助将结构传递给功能...?

来自分类Dev

Java初学者:为什么char使用''代替“”?

来自分类Dev

如何将const char *作为LPCSTR参数的参数传递?

来自分类Dev

初学者:在Haskell中转换类型

来自分类Dev

将char指针作为参数传递给函数

来自分类Dev

无法在参数传递中将'const char *'转换为'WCHAR *'

来自分类Dev

将char数组传递给const char时,strptime引发分段错误*

来自分类Dev

将空指针传递给具有const char * const的函数

来自分类Dev

将空指针传递给具有const char * const的函数

来自分类Dev

将const char *作为参数传递时会自动删除吗?

来自分类Dev

将Char参数作为“ const”传递有什么优势吗?

来自分类Dev

我使用的数据类型有问题吗?(const char *的参数与LPCTSTR类型的参数不兼容)

来自分类Dev

IntelliSense:类型为“ _TCHAR *”的参数与类型为“ const char *”的参数不兼容

Related 相关文章

  1. 1

    将'const char *'传递给类型'char *'的参数将丢弃限定符

  2. 2

    将'const char *'传递给'char *'类型的参数将丢弃限定符

  3. 3

    类型“ const char **”的参数与类型“ const char *”的参数不兼容

  4. 4

    'const char *'类型的参数与'char *'类型的参数不兼容

  5. 5

    不兼容的指针类型将“char [3]”传递给“FILE *”类型的参数

  6. 6

    参数类型“ WCHAR *”与类型“ const char *”的参数不兼容

  7. 7

    “const char*”类型的参数与“Person”类型的参数不兼容

  8. 8

    在C ++中比较chars-类型为char的参数与类型为const char *的参数不兼容

  9. 9

    预期的'const char *',但参数在C中的类型为'char **'

  10. 10

    如何从C#将const char *传递给C函数?

  11. 11

    将const char *传递给C中的函数

  12. 12

    将const char *传递给C中的函数

  13. 13

    “类型为WCHAR *的参数与“ const char *”不兼容”

  14. 14

    预期的const char *,但参数为char类型

  15. 15

    将指针传递给char数组作为函数的参数-C

  16. 16

    我可以将const char *数组传递给execv吗?

  17. 17

    C ++的初学者。帮助将结构传递给功能...?

  18. 18

    Java初学者:为什么char使用''代替“”?

  19. 19

    如何将const char *作为LPCSTR参数的参数传递?

  20. 20

    初学者:在Haskell中转换类型

  21. 21

    将char指针作为参数传递给函数

  22. 22

    无法在参数传递中将'const char *'转换为'WCHAR *'

  23. 23

    将char数组传递给const char时,strptime引发分段错误*

  24. 24

    将空指针传递给具有const char * const的函数

  25. 25

    将空指针传递给具有const char * const的函数

  26. 26

    将const char *作为参数传递时会自动删除吗?

  27. 27

    将Char参数作为“ const”传递有什么优势吗?

  28. 28

    我使用的数据类型有问题吗?(const char *的参数与LPCTSTR类型的参数不兼容)

  29. 29

    IntelliSense:类型为“ _TCHAR *”的参数与类型为“ const char *”的参数不兼容

热门标签

归档