❶ c语言怎样打开文件呀
这不就是我回答的嘛,可以试一下把file1.txt加上全路径名,比如在d盘根目录下的话死后,用"d:\\file1.txt"代替"file1.txt"
❷ 如何使用c语言打开一个文件
用fopen函数啊
❸ C语言怎么打开文件
获取当前程序所在路径:
一、1.只获得路径字串不包含文件名
TCHAR
szFilePath[MAX_PATH
+
1]={0};
GetMoleFileName(NULL,
szFilePath,
MAX_PATH);
(_tcsrchr(szFilePath,
_T('\\')))[1]
=
0;//删除文件名,只获得路径字串
CString
str_url
=
szFilePath;
//例如str_url==e:\program\Debug\---------------------------------------------------------2.获得双斜杠路径不包含文件名TCHAR
_szPath[MAX_PATH
+
1]={0}; GetMoleFileName(NULL,
_szPath,
MAX_PATH); (_tcsrchr(_szPath,
_T('\\')))[1]
=
0;//删除文件名,只获得路径
字串 CString
strPath; for
(int
n=0;_szPath[n];n++){if
(_szPath[n]!=_T('\\')){
strPath
+=_szPath[n]
;} else{
strPath
+=
_T("\\\\");}}MessageBox(strPath);//输出==e:\\program\\Debug\\二、1:获取应用程序自身完整路径文件名方法1:#include
"stdlib.h"void
main(){cout
<<
_pgmptr
<<
endl;}方法2:char
szFullPath[MAX_PATH];ZeroMemory(szFullPath,MAX_PAT);::GetMoleFileName(NULL,szFullPath,MAX_PATH);::MessageBox(NULL,szFullPath,"path",MB_ICONINFORMATION);方法3:TCHAR
szPath[MAX_PATH]
=
{0};if(!GetMoleFileName(NULL,
szPath,
MAX_PATH)){
return
;
} AfxMessageBox(szPath);2:如何获取应用程序所在目录?这里值得注意的是很多人都用GetCurrentDirectory(MAX_PATH,
szCurrentPath);来获取。这个方法并不好,经常出错,比如现在我有一个程序在d:\test目录下,现在运行这个程序后用GetCurrentDirectory得到的是d:\test。接着在程序里用CFileDialog来打开一个C:\test\test.txt文件后再调用GetCurrentDirectory,那么得到的szCurrentPath就是C:\test而不是d:\test。推荐用如下方法来得到当前程序所在目录比较安全:void
_splitpath(
const
char
*path,
char
*drive,
char
*dir,
char
*fname,
char
*ext
);函数来分解开始提到的_pgmptr,然后再用void
_makepath(
char
*path,
const
char
*drive,
const
char
*dir,
const
char
*fname,
const
char
*ext
);函数来对分解后的路径进行组合。这两个函数结合起来功能强大,使用灵活,基本上所有的有关目录和路径方面的操作都可以搞定,就是麻烦。
❹ 用c语言怎样打开另一个文件,不是fopen的那个.
#include
"windows.h"
WinExec("notepad
test.txt",SW_MAXIMIZE);
第二个参数是个宏
SW_MAXIMIZE
最大化运行
SW_MINIMIZE
最小化运行
SW_HIDE
隐藏运行
至于等待,好像没什么办法吧,要不你用system("pause");来等待?
❺ 关于c语言中如何打开文件
//zifu.txt文件只能由ASCII字符组成,否则会出现乱码
#include<stdio.h>
int main()
{
char str[200],a,b;
FILE *p;
int i;
if(NULL==(p=fopen("zifu.txt","r+")))
{
printf("文件打开失败!\n");
}
else
{
fscanf(p,"%s",str);
printf("你要替换的字符:");
a=getchar();
getchar();
printf("你要替换成的字符:");
b=getchar();
getchar();
for(i=0;str[i];i++)
{
if(a==str[i])
str[i]=b;
}
printf("%s\n",str);
fprintf(p,"%s",str);
fclose(p);
}
return 0;
}
❻ c语言程序调用外部文件
可以调用。
一、从一个源文件里调用另一个源文件的函数。在源文件A1.c中调用A2.c 中的函数有两种方法:
1、在A2.c中有完整的函数定义,在A1.c中添加一下要用到的函数原型(声明)就可以了,例如:
在A2.c中:有函数void A2(){...};。
在A1.c中:在文件前头增加一行:void A2();就可以了。
2、把A2.c中完整定义的函数的原型,写到一个A2.h文件中,然后在A1.c的文件头增加#include "A2.h"就可以了。
以上两种方法,在A1.c中都可以正常的调用,就跟在A2.c中调用一样。
其实函数默认是外部的,只要在其他文件中声明就能使用;但是注意如果在前面加上static,就只能在本文件中使用了,不能再被其他的文件调用。
二、编写头文件:
1、一个.h文件要 对应有一个.c文件,这样链接器就可以调用这个文件里的函数。比如a.h 和 a.c。
在.h文件中:
#ifndef __A_H_
#define __A_H_
#include<stdio.h>
void trans2(double B) ;
double trans1() ;
#endif
2、把相应的函数定义写在.c文件中。这里要强调一点:要加上#include ".h",这个一般作为一种工程规范。因为如果.c文件中的函数也需要调用同个.c中的其它函数,那么这个.
c往往会include对应的.h,这样就不需要为声明和调用顺序而发愁了。比如头文件里进行了变量的声明,这个时候对应的.c文件是一定要加上这个头文件的。
3、再在其他的main.c文件开头添加#include "a.h"。
(6)c语言引入外部文件怎么打开扩展阅读:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。
❼ c语言如何打开文件
你只要把下面代码的file_path改成你要输出的文件就可以了。注意,一般window下的文件路径都是一个反斜杠,但是在file_name的字符串中,所有的反斜杠都写成两个反斜杠。比如
E:\abc\WTK\SW\source.txt
你要写成
E:\\abc\\WTK\\SW\\source.txt
#include <stdio.h>
#include <string.h>
main()
{
FILE *fp;
char ch;
char *file_path = "C:\\test\\myfile.txt";
if((fp=fopen(file_path,"r"))==NULL)
{
printf("\nSorry, Can't open the file! @_@\n");
exit(0);
}
else
{
while((ch=fgetc(fp))!=EOF)
{ printf("%c",ch); }
fclose(fp);
}
getch();
}
是否可以解决您的问题?
❽ 怎么调用外部C语言文件
解决什么了,你现在代码的问题还很多。
file1.c中的内容:
#include<file2.c>//这样你以后写程序还会出错。要建个h头文件,把函数声明放到里面就行。
int
A;
main()//没类型可以运行吗。用void
main
{
int
power(int);//这个声明放到头文件里
int
b=3,a,c,d,m;
printf("enter
the
number
a
and
its
power
m:\n");
scanf("%d,%d",&a,&m);//你输入的不是A,是a.。。。
c=A*b;//c的值是0
printf("%d*%d=%d\n",A,b,c);//由于A是全局变量,值默认为0。
d=power(m);
printf("%d*%d=%d",A,m,d);
}
file2.c中的内容:
extern
A;//类型要带上,extern
int
A;
power(int
n);
{
int
i,y=1;
for(i=1;i<=n;i++)
y=A;
return(y);
}
file1.c中的内容:
#include<file2.c>
int
A;
main()
{
int
power(int);
int
b=3,a,c,d,m;
printf("enter
the
number
a
and
its
power
m:\n");
scanf("%d,%d",&a,&m);
c=A*b;
printf("%d*%d=%d\n",A,b,c);
d=power(m);
printf("%d*%d=%d",A,m,d);
}
file2.c中的内容:
extern
A;
power(int
n);
{
int
i,y=1;
for(i=1;i<=n;i++)
y=A;
return(y);
}
❾ c语言怎么导入外部数据
使用函数导入,具体参考代码和注释如下:
FILE*fp;
fp=fopen("ok.txt","r");//用fopen打开文件,"r"只供读取
charbuf[1024]={0};
fgets(buf,sizeof(buf),fp);从文件指针stream中读取n-1个字符,存到以s为起始地址的空间里,直到读完一行,如果成功则返回s的指针,否则返回NULL。此时fp指针指向第二行。
然后继续读取第二行,第三行……
fclose(fp);
❿ C语言中打开源文件、目标文件时,打开方式各是什么
C语言源文件格式 XXX.c 和XXX.h 格式, 用文本方式打开。 目标文件格式为 bin格式,需要用十六进制方式打开文件。