函数“strlen”无法解析 - Eclipse cpp
Posted
技术标签:
【中文标题】函数“strlen”无法解析 - Eclipse cpp【英文标题】:Function 'strlen' could not be resolved - Eclipse cpp 【发布时间】:2016-05-29 11:14:47 【问题描述】:我是 Ecplipse 的 cpp 新手,我遇到了很多问题。
已修复:1) 开始时默认没有包含文件夹。
未打包 Eclipse 的 zip,但它没有库(或包含),所以我使用包含文件夹的 DEV 设置“路径和符号”(安装了 MinGW 并包含它们)。 这样做,我解决了包含问题。
未修复:2) “无法解析函数‘strlen’”
未修复 3) “在 PATH 中找不到程序“g++”(也是 gcc)” 我使用以下 bin 设置了 PATH:dev、mingw 和 mingw/msys 文件夹......但没有用
#include <iostream>
#include <stdlib.h>
#include "D:\Documenti\funz.cpp"
#include "D:\Documenti\winfunz.cpp"
using namespace std;
typedef char Elem;
struct Node
int id;
Elem * val;
Node* prev;
Node* next;
;
typedef Node* List;
class Fifo
List l;
public:
Fifo()
l=NULL[enter image description here][1];
void insert(List &l, Elem *val, int id)
Node *n;
int riemp=strlen(val);
n=new Node;
n->val=new char[riemp+1];
n->id=id;
strcpy(n->val, val); // equivale a (*n).val=val;
n->next=NULL;//a prescindere è NULL
if (l==NULL)//se è il primo elemento
n->prev=NULL;
l=n;
else
if (l->next==NULL)//se è il secondo elemento
l->next=n;
l->prev=n;
n->prev=l->prev;
else
(l->prev)->next=n;
n->prev=l->prev;
l->prev=n;
Node* search(List l, int id)
while (l!=NULL && l->id!=id)
l=l->next;
return l;
void delete_node(List & l, Node* n)
short int deltype=0;
if (n->next==NULL && n->prev!=l) deltype=1;//se è l'ultimo elemento
if (n->next==NULL && n->prev==l) deltype=2;//se è il secondo elemento
if (n->next==NULL && n==l) deltype=3;//se l'unico elemento
if (n->next!=NULL && n==l) deltype=4;//se solo il primo elemento vine eliminato
switch (deltype)
case 1:
l->prev=n->prev;
(n->prev)->next=NULL;
break;
case 2:
l->prev=NULL;
l->next=NULL;
break;
case 3:
l=NULL;
break;
case 4:
if (l->prev==l->next)//se sono solo gli ultimi due e il boss viene eliminato
(l->next)->prev=NULL;
else
(l->next)->prev=l->prev;
l=l->next;
break;
default://se è un elemento non primo e non ultimo && la lista ha elementi>2
(n->prev)->next=n->next;
(n->next)->prev=n->prev;
delete[] n->val;
delete n;
void print(List l)
if (l==NULL) cout<<"\nLista vuota\n";
int tmp;
char num[3+1] ;
while (l!=NULL)
tmp=l->id;
if(tmp<10) strcpy(num, strcat("00", MioNS::conv_num_numchar(tmp)));
else if(tmp<100) strcpy(num, strcat("0", MioNS::conv_num_numchar(tmp)));
else strcpy(num, MioNS::conv_num_numchar(tmp));
cout<<num<<":"<<l->val<<endl;
l=l->next;
cout<<'\n';
void init_list(List & l)
l=NULL;
void delete_list(List & l)
Node* n;
while (l!=NULL)
n=l;
l=l->next;
delete[] n->val;
delete n;
void printfile(List l , ofstream& out)
int tmp;
char num[3+1] ;
while (l!=NULL)
tmp=l->id;
if(tmp<10) strcpy(num, strcat("00", MioNS::conv_num_numchar(tmp)));
else if(tmp<100) strcpy(num, strcat("0", MioNS::conv_num_numchar(tmp)));
else strcpy(num, MioNS::conv_num_numchar(tmp));
out<<num<<":"<<l->val<<endl;
l=l->next;
out<<'\n';
;
希望代码不是问题。
错误
Description Resource Path Location Type
Cannot run program "sh" (in directory "E:\CPP\workspace\Prova1"): CreateProcess error=2, Impossibile trovare il file specificato Prova1 -1 Configure Problem
Function 'strcat' could not be resolved Prova1.cpp /Prova1/src line 102 Semantic Error
Function 'strcat' could not be resolved Prova1.cpp /Prova1/src line 103 Semantic Error
Function 'strcat' could not be resolved Prova1.cpp /Prova1/src line 128 Semantic Error
Function 'strcat' could not be resolved Prova1.cpp /Prova1/src line 129 Semantic Error
Function 'strcpy' could not be resolved Prova1.cpp /Prova1/src line 31 Semantic Error
Function 'strcpy' could not be resolved Prova1.cpp /Prova1/src line 102 Semantic Error
Function 'strcpy' could not be resolved Prova1.cpp /Prova1/src line 103 Semantic Error
Function 'strcpy' could not be resolved Prova1.cpp /Prova1/src line 104 Semantic Error
Function 'strcpy' could not be resolved Prova1.cpp /Prova1/src line 128 Semantic Error
Function 'strcpy' could not be resolved Prova1.cpp /Prova1/src line 129 Semantic Error
Function 'strcpy' could not be resolved Prova1.cpp /Prova1/src line 130 Semantic Error
Function 'strlen' could not be resolved Prova1.cpp /Prova1/src line 27 Semantic Error
Program "g++" not found in PATH Preferences, C++/Build/Settings/Discovery, [CDT GCC Built-in Compiler Settings] options C/C++ Scanner Discovery Problem
Program "gcc" not found in PATH Preferences, C++/Build/Settings/Discovery, [CDT GCC Built-in Compiler Settings] options C/C++ Scanner Discovery Problem
【问题讨论】:
【参考方案1】:对于问题 2:
要使用 strcpy、strlen 等函数,您必须包含字符串头文件。
#include<string.h>
或
#include<cstring>
对于问题 3:
您可以参考这些链接。
Eclipse C++ : "Program "g++" not found in PATH"
http://www.eclipse.org/forums/index.php/t/697857/
希望这会有所帮助。
【讨论】:
- 修复了 g++/gcc 问题----------- - #include以上是关于函数“strlen”无法解析 - Eclipse cpp的主要内容,如果未能解决你的问题,请参考以下文章