小编Pet*_*ter的帖子

嵌套很多while循环有问题吗?

我正在做一些功课,想知道是否存在太多嵌套while循环的东西.嵌套几个while循环有缺点吗?如果是这样,我将如何重构下面的代码片段?

下面是一次读取一行文件的代码,解析由某些定义的分隔符分隔的字段,并在打印到控制台之前删除前导空格.

// Read the file one line at a time
while (fgets(lineStr, MAXLINELENGTH, fp) != NULL)
{
    charPtr = strtok(lineStr, DELIMITERS);

    // Loop until line is parsed
    while (charPtr != NULL)
    {
        // Skip past leading whitespace
        while (isspace(*charPtr))
            charPtr++;

        puts(charPtr);
        charPtr = strtok(NULL, DELIMITERS);
    }
}
Run Code Online (Sandbox Code Playgroud)

c while-loop nested-loops

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

如何在CMake中添加Windows库?

我想将 ws2_32.lib 包含到我的应用程序中,但 CMake 会附加-l到项目属性。

...
add_executable(Executive ${exec_src})
target_link_libraries(Executive ws2_32)
Run Code Online (Sandbox Code Playgroud)

这就是我的 CMakeLists.txt 文件的样子,但是当我检查“输入”下的 VS2010 链接器属性页面时,它列出了-lws2_32.lib. 为什么要加上-l? 我怎样才能删除它,因为一旦我手动将其更改为读取ws2_32.lib该项目就能够正确链接。

我尝试了以下操作: find_library(WIN_C ws2_32)但结果是NOTFOUND

cmake visual-studio-2010 visual-studio

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

在if语句中分配fopen的结果

我目前正在学习C,并想知道以下两段代码是否表现不同,或者它是否只是一种风格的东西.

看一些来源,他们有以下代码:

...
FILE * pFile;
pFile = fopen ("myfile.txt","r");
if (pFile == NULL)
{ some code }
...
Run Code Online (Sandbox Code Playgroud)

虽然我的教授在他的笔记中有以下代码:

...
FILE * pFile
if ((pFile = fopen("myfile.txt","r")) == NULL)
{ some code }
...
Run Code Online (Sandbox Code Playgroud)

只是想知道这不仅仅是不同程序员的风格偏好,还是将返回/设置行放在if statmeent中的优势.

c if-statement variable-assignment

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