当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 字符串常量和字符型指针的转化问题
帖子发表于 : 2015-11-25 20:33 

注册: 2015-11-22 17:26
帖子: 6
系统: ubuntu14.04
送出感谢: 1
接收感谢: 0 次
用g++编译时遇到如下问题:
报错内容:
warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
h_file = open_file_std(file1,"wb");

这是我的原代码;
//////////////
char *file1;
FILE *h_file;
strcpy(file1,"Hmatrix");
h_file = open_file_std(file1,"wb");

FILE *open_file_std( char *fname, char *mode)
我的Ubuntu版本是14.04
感谢各位大神的解答~~~


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 字符串常量和字符型指针的转化问题
帖子发表于 : 2015-11-25 22:43 
头像

注册: 2008-09-18 13:11
帖子: 2781
送出感谢: 1
接收感谢: 453
"xxx"字符串对应的参数类型请换成const char *


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 字符串常量和字符型指针的转化问题
帖子发表于 : 2015-11-27 14:26 

注册: 2015-11-22 17:26
帖子: 6
系统: ubuntu14.04
送出感谢: 1
接收感谢: 0 次
astolia 写道:
"xxx"字符串对应的参数类型请换成const char *

把file1改成 const char*以后,编译运行:

[color=#FF4000]BigGirth.c: In member function ‘int BigGirth::writeToFile_Hmatrix111()’:
BigGirth.c:1097:32: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
strcpy(file1,"Hmatrix");
^
In file included from BigGirth.c:5:0:
/usr/include/string.h:129:14: error: initializing argument 1 of ‘char* strcpy(char*, const char*)’ [-fpermissive]
extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
^
BigGirth.c:1100:36: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
h_file = open_file_std(file1,"wb");
^
In file included from BigGirth.c:25:0:
open.h:16:7: error: initializing argument 1 of ‘FILE* open_file_std(char*, char*)’ [-fpermissive]
FILE *open_file_std (char *, char *);
^
BigGirth.c:1100:36: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
h_file = open_file_std(file1,"wb");


错的更多了啊


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 字符串常量和字符型指针的转化问题
帖子发表于 : 2015-11-27 16:02 
头像

注册: 2008-09-18 13:11
帖子: 2781
送出感谢: 1
接收感谢: 453
看来你的C水平真是菜的没边了,参数是指什么都不清楚。好吧,我再说明确点
"xxx"字符串作为函数实参时,对应的函数形参类型请换成const char *



_________________
评价: 3.7% mz57
 
页首
 用户资料  
 
5 楼 
 文章标题 : Re: 字符串常量和字符型指针的转化问题
帖子发表于 : 2015-11-27 22:01 

注册: 2015-11-22 17:26
帖子: 6
系统: ubuntu14.04
送出感谢: 1
接收感谢: 0 次
astolia 写道:
看来你的C水平真是菜的没边了,参数是指什么都不清楚。好吧,我再说明确点
"xxx"字符串作为函数实参时,对应的函数形参类型请换成const char *

谢谢前辈的悉心教导,现在这个问题让您说的改好了。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 0 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译