| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4917 人关注过本帖
标题:请问这个错误怎么改???
只看楼主 加入收藏
l923912586
Rank: 1
来 自:四川
等 级:新手上路
帖 子:32
专家分:3
注 册:2017-4-9
结帖率:60%
收藏
已结贴  问题点数:10 回复次数:25 
请问这个错误怎么改???
程序代码:
// 单元化字符串.cpp : 定义控制台应用程序的入口点。
//
#define _STDC_WANT_LIB_EXT1_ 1
#include "stdafx.h"
#include<stdlib.h>
#include<string.h>
#include <stdbool.h>
int main()
{
    char delimiters[] = "\".,;:!?)(";//确定定界符。
    char buf[100];//键盘输入线的缓冲器 。
    char str[1000];//
    char* ptr = NULL;
    size_t str_len = sizeof(str);
    size_t buf_len = sizeof(buf);
    printf("Enter some prose that less than %zd characters.\n"
                    "Terminate input by entering an empty line:\n"str_len);
    while (ture)
    {
        if (!gets_s(buf, buf_len))
        {
            printf("Error reading string.\n");
            return 1;
        }
        if (!strnlen_s(buf, buf_len))
            break;
        if (strcat_s(str, str_len, buf))
        {
            printf("Mximum permitted input length exceeded.\n");
            return;
        }
    }
    printf("the words in the prose that you entered are:\n", str);//找到并列出找到的所有词。
    unsigned int word_count = 0;
    char * pWord = strtok_s(str, &str_len, delimiters, &ptr);
    if (pWord)
    {
        do
        {
            printf("%-18s", pWord);
            if (++word_count % 5 == 0)
                printf("\n");
            pWord = strtok_s(NULL, &str_len, delimiters, &ptr);
        } while (pWord);
        printf("\n%u words found.\n", word_count);
    }
    else
        printf("No woeds found.\n");
    system("pause");
    return 0;
}

[local]1[/local]

和书上上一样的,难道时编译器问题?


单元化字符串 - Microsoft Visual Studio 2017_5_24 17_31_58.png (404.78 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 控制台 字符串 应用程序 
2017-05-24 17:34
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:4 

    printf("Enter some prose that less than %zd characters.\n"
                    "Terminate input by entering an empty line:\n",str_len);//这里缺少一个逗号

 while (ture)//这一行没法改,完全不知道你的意图。
                    //如果你是想写一个死循环的话,改成 while( 1 )


程序代码:
/*最烦微软的私货函数,不差完全不知道用法,我是懒得差,你既然在用,那就按照这些警告自己改吧。*/
1>c:\users\medivh\desktop\consoleapplication1\源.c(13): warning C4013: “printf”未定义;假设外部返回 int
1>c:\users\medivh\desktop\consoleapplication1\源.c(15): error C2065: “ture”: 未声明的标识符
1>c:\users\medivh\desktop\consoleapplication1\源.c(17): warning C4013: “gets_s”未定义;假设外部返回 int
1>c:\users\medivh\desktop\consoleapplication1\源.c(32): warning C4133: “函数”: 从“size_t *”到“const char *”的类型不兼容
1>c:\users\medivh\desktop\consoleapplication1\源.c(32): warning C4047: “函数”:“char **”与“char [10]”的间接级别不同
1>c:\users\medivh\desktop\consoleapplication1\源.c(32): warning C4024: “strtok_s”: 形参和实参 3 的类型不同
1>c:\users\medivh\desktop\consoleapplication1\源.c(32): warning C4020: “strtok_s”: 实参太多
1>c:\users\medivh\desktop\consoleapplication1\源.c(40): warning C4133: “函数”: 从“size_t *”到“const char *”的类型不兼容
1>c:\users\medivh\desktop\consoleapplication1\源.c(40): warning C4047: “函数”:“char **”与“char [10]”的间接级别不同
1>c:\users\medivh\desktop\consoleapplication1\源.c(40): warning C4024: “strtok_s”: 形参和实参 3 的类型不同
1>c:\users\medivh\desktop\consoleapplication1\源.c(40): warning C4020: “strtok_s”: 实参太多




[此贴子已经被作者于2017-5-24 18:23编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-24 17:45
l923912586
Rank: 1
来 自:四川
等 级:新手上路
帖 子:32
专家分:3
注 册:2017-4-9
收藏
得分:0 
回复 2楼 renkejun1942
visual studio 没有c 只有c++,所以后缀我也没办法,而while(ture)书上这样写我能怎么办??我也很绝望啊。
2017-05-24 17:50
l923912586
Rank: 1
来 自:四川
等 级:新手上路
帖 子:32
专家分:3
注 册:2017-4-9
收藏
得分:0 
回复 2楼 renkejun1942
visual studio 没有c 只有c++,所以后缀我也没办法,而while(ture)书上这样写我能怎么办??我也很绝望啊。
2017-05-24 17:50
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 4楼 l923912586
没有C?你蒙谁了。

你在添加-新建项-改掉后缀.cpp就是了。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-24 17:52
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册


这里,把cpp改成c, 会不?

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-24 17:53
l923912586
Rank: 1
来 自:四川
等 级:新手上路
帖 子:32
专家分:3
注 册:2017-4-9
收藏
得分:0 
回复 5楼 renkejun1942
  好把  但是那个影响很大吗???
2017-05-24 17:54
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 7楼 l923912586
你学到结构的时候,会 有一个常用的写法 struct tree *tree.
这一句,C是无损编译通过,C++会报错,通不过编译。

还有很多小的细节。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-24 17:55
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 7楼 l923912586
while( true )

我猜是为了写一个死循环。

你把这一句改成 while( 1 )
试试。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-24 17:56
l923912586
Rank: 1
来 自:四川
等 级:新手上路
帖 子:32
专家分:3
注 册:2017-4-9
收藏
得分:0 
回复 8楼 renkejun1942
哦哦  好的  谢谢  以后注意
2017-05-24 17:57
快速回复:请问这个错误怎么改???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020795 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved