Questions tagged «c»

C是用于系统编程(OS和嵌入式),库,游戏和跨平台的通用编程语言。该标记应与ISO 9899标准(除非另有说明,最新版本9899:2018中定义的有关C语言的一般问题)一起使用-还要使用c89,c99,c11等标记特定于版本的请求。C与C ++截然不同,在没有合理理由的情况下,不应将其与C ++标记结合使用。

4
C libcurl获取输出到字符串中
我想将此curl函数的结果存储在变量中,该怎么办? #include <stdio.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "curl.haxx.se"); res = curl_easy_perform(curl); /* always cleanup */ curl_easy_cleanup(curl); } return 0; } 谢谢,我这样解决了它: #include <stdio.h> #include <stdlib.h> #include <curl/curl.h> function_pt(void *ptr, size_t size, size_t nmemb, void *stream){ printf("%d", atoi(ptr)); } …
94 c  libcurl 

13
C#vs C-巨大的性能差异
我发现C anc C#中相似代码之间存在巨大的性能差异。 C代码是: #include <stdio.h> #include <time.h> #include <math.h> main() { int i; double root; clock_t start = clock(); for (i = 0 ; i <= 100000000; i++){ root = sqrt(i); } printf("Time elapsed: %f\n", ((double)clock() - start) / CLOCKS_PER_SEC); } C#(控制台应用程序)为: using System; using System.Collections.Generic; using System.Text; namespace …
94 c#  c  performance 

9
1988 C代码有什么问题?
我正在尝试从“ The C Programming Language”(K&R)一书中编译这段代码。它是UNIX程序的基本版本wc: #include <stdio.h> #define IN 1; /* inside a word */ #define OUT 0; /* outside a word */ /* count lines, words and characters in input */ main() { int c, nl, nw, nc, state; state = OUT; nl = nw = nc = 0; …
94 c 

17
函数指针的意义是什么?
我很难看到函数指针的实用程序。我猜它在某些情况下可能是有用的(毕竟它们确实存在),但是我无法想到使用函数指针更好或不可避免的情况。 您能否举出一些很好使用函数指针的示例(在C或C ++中)?
94 c++  c  function  pointers  c++-faq 

7
找不到'uint32_t'标识符错误
我正在将代码从Linux C移植到Windows的Visual C ++。 Visual C ++不知道,#include <stdint.h>所以我将其注释掉。 后来,我发现了很多这样的'uint32_t': identifier not found错误。如何解决?
94 c++  c  visual-c++ 

7
在C语言中,我应该如何阅读文本文件并打印所有字符串
我有一个名为 test.txt 我想编写一个C程序,该程序可以读取此文件并将内容打印到控制台(假定该文件仅包含ASCII文本)。 我不知道如何获取我的字符串变量的大小。像这样: char str[999]; FILE * file; file = fopen( "test.txt" , "r"); if (file) { while (fscanf(file, "%s", str)!=EOF) printf("%s",str); fclose(file); } 该大小999不起作用,因为byfscanf所返回的字符串可以大于该值。我该如何解决?
94 c  file  text-files 


7
为什么只定义一个尚未定义的宏?
在我们的C代码库中,我看到每个宏都以以下方式定义: #ifndef BEEPTRIM_PITCH_RATE_DEGPS #define BEEPTRIM_PITCH_RATE_DEGPS 0.2f #endif #ifndef BEEPTRIM_ROLL_RATE_DEGPS #define BEEPTRIM_ROLL_RATE_DEGPS 0.2f #endif #ifndef FORCETRIMRELEASE_HOLD_TIME_MS #define FORCETRIMRELEASE_HOLD_TIME_MS 1000.0f #endif #ifndef TRIMSYSTEM_SHEARPIN_BREAKINGFORCE_LBS #define TRIMSYSTEM_SHEARPIN_BREAKINGFORCE_LBS 50.0f #endif 进行这些定义检查而不是仅仅定义宏的原理是什么? #define BEEPTRIM_PITCH_RATE_DEGPS 0.2f #define BEEPTRIM_ROLL_RATE_DEGPS 0.2f #define FORCETRIMRELEASE_HOLD_TIME_MS 1000.0f #define TRIMSYSTEM_SHEARPIN_BREAKINGFORCE_LBS 50.0f 我在网上的任何地方都找不到这种做法的解释。


2
在C和C ++中+ =的结果是什么?
我有以下代码: #include <stdio.h> int main(int argc, char **argv) { int i = 0; (i+=10)+=10; printf("i = %d\n", i); return 0; } 如果我尝试使用gcc将其编译为C源代码,则会收到错误消息: error: lvalue required as left operand of assignment 但是,如果我使用g ++将其编译为C ++源代码,则在运行可执行文件时也不会出错: i = 20 为什么会有不同的行为?
93 c++  c 

6
extern内联有什么作用?
我知道,这inline本身就是对编译器的建议,它可以酌情决定是否内联函数,也可以生成可链接的目标代码。 我认为这样static inline做相同(可以内联或不可以内联),但是在内联时不会产生可链接的目标代码(因为没有其他模块可以链接到它)。 哪里extern inline适合图片? 假设我想用一个内联函数替换一个预处理器宏,并要求该函数内联(例如,因为它使用了应该为调用者解析但不为该调用函数解析的__FILE__和__LINE__宏)。也就是说,如果函数未内联,我想查看编译器或链接器错误。不extern inline这样做呢?(我认为,如果没有,除了坚持使用宏之外,没有其他方法可以实现此行为。) C ++和C之间有区别吗? 不同的编译器供应商和版本之间有区别吗?



3
是否有机器,其中sizeof(char)!= 1,或者至少CHAR_BIT> 8?
Наэтотвопросестьответына 堆栈溢出нарусском:Кто-нибудьвстречалвсвоейпрактике的sizeof(焦炭)= 1!? 是否有机器(或编译器)在哪里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位? 更新3: 好的。所有机器都有sizeof(char) == 1。但是什么机器CHAR_BIT > 8呢?
93 c  char  standards  sizeof  c99 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.