【发布时间】:2015-06-10 02:19:23
【问题描述】:
我无法弄清楚导致此问题的原因...感谢任何帮助! 我已经为 strlen 尝试了很多代码,但这是唯一一个我可以实现的代码只有 1 个错误。使用此代码,我试图从文件中读取字符串,将其分解为用空格分隔的单词,确定长度,然后将单词和长度打印给用户。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
FILE*arquivo;
char nuks[80];
char frase[80];
typedef struct node {
char palavra;
struct node* esquerda;
struct node* direita;
int altura;
} No;
size_t strlen(char *nstr)
{
int total=0;
char str[80];
strcpy(str, nstr);
total = strlen(str);
printf("|%s| is |%d|", str, total);
}
int main()
{
No* raiz = NULL;
arquivo=fopen("README.txt","r");
fgets(nuks, 79, arquivo);
printf("%s\n",nuks);
char *parte;
// Get the first word
parte = (char*)strtok(nuks, " ");
// Get the other words
while(parte != NULL){
strlen(parte);
printf("%s\n", parte);
parte = (char*)strtok(NULL, " ");
}
printf("\n\n");
system("pause");
return 0;
}
【问题讨论】:
-
使用其他名称。例如
void print_strlen(char *nstr)而不是size_t strlen(char *nstr) -
尝试将字符数组命名为
str之外的其他名称?这可能已经定义好了。