相关疑难解决方法(0)

如何从C中的控制台读取一行?

在C控制台程序中读取完整行的最简单方法是什么?输入的文本可能具有可变长度,我们无法对其内容进行任何假设.

c io console stdin readline

98
推荐指数
7
解决办法
25万
查看次数

有机器,sizeof(char)!= 1,或者至少CHAR_BIT> 8?

有机器(或编译器),在哪里sizeof(char) != 1

C99标准是否说sizeof(char)标准合规性实施必须正好1?如果有,请给我部分编号和引文.

更新: 如果我有一台机器(CPU),它不能寻址字节(最小读取是4个字节,对齐),但只有4-s的字节(uint32_t),这个机器的编译器可以定义sizeof(char)为4吗? sizeof(char)将是1,但char将有32位(CHAR_BIT宏)

Update2: 但是sizeof结果不是BYTES!这是CHAR的大小.char可以是2个字节,或者(可能是)7位?

Update3: 好的.所有机器都有sizeof(char) == 1.但机器有CHAR_BIT > 8什么?

c standards sizeof c99 char

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

scanf()和fgets()之间的区别

我想知道fgets()和之间有什么区别scanf().我使用C作为我的平台.

c scanf fgets

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

在c ++中读取c样式字符串时出错

首先,看看下面的简单代码.

int main(){
    char *name;
    cout << "Enter your name: ";
    cin >> name;
    cout << "Your name is: " << name;

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

前面的代码给了我一个错误warning: deprecated conversion from string constant to 'char*'.
但我通过以下方式解决了这个问题:

const char *name;
Run Code Online (Sandbox Code Playgroud)

编译代码后,我有另一个错误no match for 'operator>>' (operand types are 'std::istream {aka std::basic_istream<char>}' and 'const char*').

上一次错误的原因是什么,以及如何解决?

c++

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

标签 统计

c ×3

c++ ×1

c99 ×1

char ×1

console ×1

fgets ×1

io ×1

readline ×1

scanf ×1

sizeof ×1

standards ×1

stdin ×1