相关疑难解决方法(0)

将十六进制字符串(char [])转换为int?

我有一个char []包含一个值,如"0x1800785",但我想要赋值的函数需要一个int,我怎么能把它转换成一个int?我搜索过但找不到答案.谢谢.

c int char

74
推荐指数
6
解决办法
29万
查看次数

正确使用strtol

下面的程序将字符串转换为long,但根据我的理解,它也会返回错误.我依赖的事实是,如果strtol将字符串成功转换为long,那么第二个参数strtol应该等于NULL.当我用55运行以下应用程序时,我收到以下消息.

./convertToLong 55
Could not convert 55 to long and leftover string is: 55 as long is 55
Run Code Online (Sandbox Code Playgroud)

如何成功检测strtol的错误?在我的应用程序中,零是有效值.

码:

#include <stdio.h>
#include <stdlib.h>

static long parseLong(const char * str);

int main(int argc, char ** argv)
{
    printf("%s as long is %ld\n", argv[1], parseLong(argv[1]));
    return 0;
 }

static long parseLong(const char * str)
{
    long _val = 0;
    char * temp;

    _val = strtol(str, &temp, 0);

    if(temp != '\0')
            printf("Could not convert %s to long and …
Run Code Online (Sandbox Code Playgroud)

c c++

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

将字符串转换为整数,双精度,浮点数,而不必捕获异常

我有一个string它可以是一个doublefloatint。我想string通过进行函数调用将转换为数据类型。我目前正在使用诸如stof和等函数,stoi当输入不是a float或时会抛出异常int。还有另一种无需捕获异常即可转换字符串的方法吗?也许某些函数将a指针传递给floatas参数,然后仅返回a boolean,表示调用函数成功。我想避免try catch在我的任何代码中使用任何语句。

c++ exception

4
推荐指数
2
解决办法
3248
查看次数

日期转换程序中的奇怪错误

我无法修复代码中的奇怪错误。

我编写了一个程序来打印最初以“MM/DD/YYYY”格式编写的日期,以格式化“Month DD, YYYY”。

该程序很简单:我将日期存储在数组中char,然后strtok分别获取月、日、年并将指向它们的指针存储在数组中char *。最终将代表月份的字符串部分转换为int ,从而将其作为打印月份的索引;日和年分别打印。

该程序可以工作,但我真的无法理解这样一个事实:如果我输入 08(八月)或 09(九月)作为月份,它就不会工作。

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

    void read_date( char * const);
    void collect_data( char * const, char *[] );
    int convert_month( char * );

    int main() {

         char *months[12] = {"January", "February", "March", "April", "May", "June", "July","August", "September", "October", "November", "December" };
         char orig_date[11];
         char *date_elem[3];

         int month;

         read_date( orig_date );

         collect_data( orig_date, date_elem );

         month = convert_month( date_elem[0] );

         puts("\n*New format*\n");
         printf( …
Run Code Online (Sandbox Code Playgroud)

c arrays string

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

atoi多线程安全吗?

我在创建多线程程序时遇到了一些错误.使用gdb进行调试时,atoi函数会抛出错误.请帮助,atoi多线程不安全,如果是,有哪些替代方案?

c multithreading runtime-error atoi

-7
推荐指数
1
解决办法
669
查看次数

标签 统计

c ×4

c++ ×2

arrays ×1

atoi ×1

char ×1

exception ×1

int ×1

multithreading ×1

runtime-error ×1

string ×1